kameleon 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/kameleon.rb +16 -1
- data/lib/kameleon/dsl/act.rb +24 -12
- data/lib/kameleon/dsl/see.rb +15 -4
- data/lib/kameleon/session/capybara.rb +2 -25
- data/lib/kameleon/session/server.rb +21 -0
- data/lib/kameleon/session/session_pool.rb +45 -0
- data/lib/kameleon/user/abstract.rb +21 -24
- data/lib/kameleon/user/guest.rb +1 -3
- data/lib/kameleon/utils/configuration.rb +15 -0
- data/lib/kameleon/utils/helpers.rb +11 -0
- data/lib/patch/capybara_selenium_driver.rb +7 -0
- data/spec/sample_rack_app/hey.rb +13 -6
- data/spec/spec_helper.rb +26 -1
- data/spec/unit/act/click_spec.rb +1 -1
- data/spec/unit/act/fill_in/attach_file_spec.rb +14 -5
- data/spec/unit/act/fill_in/checkbox_spec.rb +1 -1
- data/spec/unit/act/fill_in/date_ranges_spec.rb +1 -1
- data/spec/unit/act/fill_in/multiple_select_spec.rb +1 -1
- data/spec/unit/act/fill_in/radio_button_spec.rb +1 -1
- data/spec/unit/act/fill_in/select_spec.rb +1 -1
- data/spec/unit/act/fill_in/text_area_spec.rb +1 -1
- data/spec/unit/act/fill_in/text_input_spec.rb +1 -1
- data/spec/unit/act/on_hover_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/fields/empty_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/fields/readonly_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/fields_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/textareas_spec.rb +1 -1
- data/spec/unit/dsl/not_see/form_elements/texts_spec.rb +1 -1
- data/spec/unit/dsl/not_see/in_scopes_spec.rb +3 -1
- data/spec/unit/dsl/not_see/special_elements/buttons_spec.rb +1 -1
- data/spec/unit/dsl/not_see/special_elements/error_message_for_spec.rb +1 -1
- data/spec/unit/dsl/not_see/special_elements/images_spec.rb +1 -1
- data/spec/unit/dsl/not_see/special_elements/links_spec.rb +1 -1
- data/spec/unit/dsl/not_see/special_elements/ordered_texts_spec.rb +3 -3
- data/spec/unit/dsl/not_see/special_selectors_spec.rb +9 -5
- data/spec/unit/dsl/not_see/texts_spec.rb +1 -1
- data/spec/unit/dsl/see/counted_elements_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/checkboxes_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/fields/disabled_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/fields/empty_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/fields/readonly_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/fields_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/multiple_selects_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/radio_buttons_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/selects_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/textareas_spec.rb +1 -1
- data/spec/unit/dsl/see/form_elements/texts_spec.rb +1 -1
- data/spec/unit/dsl/see/in_scopes_spec.rb +4 -2
- data/spec/unit/dsl/see/special_elements/buttons_spec.rb +1 -1
- data/spec/unit/dsl/see/special_elements/error_message_for_spec.rb +1 -1
- data/spec/unit/dsl/see/special_elements/images_spec.rb +1 -1
- data/spec/unit/dsl/see/special_elements/links_spec.rb +1 -1
- data/spec/unit/dsl/see/special_elements/ordered_texts_spec.rb +3 -3
- data/spec/unit/dsl/see/special_selectors_spec.rb +10 -6
- data/spec/unit/dsl/see/texts_spec.rb +1 -1
- data/spec/unit/guest_spec.rb +8 -4
- data/spec/unit/user_base_spec.rb +6 -8
- metadata +29 -23
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#see in scopes' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('scopes.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/scopes.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
# TODO
|
@@ -55,7 +55,9 @@ describe '#see in scopes' do
|
|
55
55
|
end
|
56
56
|
|
57
57
|
it 'should see in many selctors scope' do
|
58
|
-
|
58
|
+
user = Kameleon::User::Guest.new(self, :driver => :rack_test)
|
59
|
+
user.debug.visit('/scopes.html')
|
60
|
+
user.within(:xpath, '//div[@id="footer"]/span | //div[@id="main"]/div[@id="left"]', :select_multiple) do
|
59
61
|
see 'Simple text', 'Left side'
|
60
62
|
end
|
61
63
|
end
|
@@ -2,8 +2,8 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe '#see special elements - error message for' do
|
4
4
|
before do
|
5
|
-
Capybara.app = Hey.new('error_message_for.html')
|
6
5
|
@user = Kameleon::User::Guest.new(self)
|
6
|
+
@user.debug.visit('/error_message_for.html')
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'should see one messages' do
|
@@ -3,18 +3,18 @@ require 'spec_helper'
|
|
3
3
|
|
4
4
|
describe '#see special elements - ordered texts' do
|
5
5
|
before do
|
6
|
-
Capybara.app = Hey.new('special_elements.html')
|
7
6
|
@user = Kameleon::User::Guest.new(self)
|
7
|
+
@user.debug.visit('/special_elements.html')
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'should see text in proper order' do
|
11
|
-
@user.see :ordered => ['
|
11
|
+
@user.see :ordered => ['Michal Czyz', 'Tomasz Bak', 'Rafal Bromirski']
|
12
12
|
end
|
13
13
|
|
14
14
|
context 'when different order' do
|
15
15
|
it 'should raise error' do
|
16
16
|
expect do
|
17
|
-
@user.see :ordered => ['Tomasz
|
17
|
+
@user.see :ordered => ['Tomasz Bak', 'Michal Czyz', 'Rafal Bromirski']
|
18
18
|
end.to raise_error(RSpec::Expectations::ExpectationNotMetError)
|
19
19
|
end
|
20
20
|
end
|
@@ -2,26 +2,30 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe '#see special selectors in tables' do
|
5
|
-
before do
|
6
|
-
Capybara.app = Hey.new('special_elements.html')
|
7
|
-
@user = Kameleon::User::Guest.new(self)
|
8
|
-
end
|
9
5
|
|
10
6
|
context 'when in row' do
|
7
|
+
before do
|
8
|
+
@user = Kameleon::User::Guest.new(self)
|
9
|
+
@user.debug.visit('/special_elements.html')
|
10
|
+
end
|
11
11
|
it 'should see full text' do
|
12
|
-
@user.within(:row => '
|
12
|
+
@user.within(:row => 'Michal Czyz') do
|
13
13
|
see "13.00"
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should see partial text' do
|
18
|
-
@user.within(:row => '
|
18
|
+
@user.within(:row => 'Michal Czyz') do
|
19
19
|
see "13"
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
context 'when in column' do
|
25
|
+
before do
|
26
|
+
@user = Kameleon::User::Guest.new(self, :driver => :rack_test)
|
27
|
+
@user.debug.visit('/special_elements.html')
|
28
|
+
end
|
25
29
|
context 'when scoped by full text' do
|
26
30
|
it 'should see full text' do
|
27
31
|
@user.within(:column => 'Selleo') do
|
data/spec/unit/guest_spec.rb
CHANGED
@@ -4,15 +4,17 @@ describe "Kameleon::User::Guest" do
|
|
4
4
|
include ::Capybara::DSL
|
5
5
|
|
6
6
|
before(:all) do
|
7
|
-
Capybara.
|
7
|
+
Capybara.current_driver = :rack_test
|
8
8
|
@guest = Kameleon::User::Guest.new(self, {:session_name => :see_world})
|
9
9
|
@another_guest = Kameleon::User::Guest.new(self)
|
10
10
|
end
|
11
11
|
|
12
|
+
after(:all) { Capybara.use_default_driver }
|
13
|
+
|
12
14
|
context "sessions" do
|
13
|
-
it "by default user should get
|
14
|
-
@another_guest.send(:session).should
|
15
|
-
@another_guest.debug.should
|
15
|
+
it "by default user should get some session" do
|
16
|
+
@another_guest.send(:session).should be_kind_of(Capybara::Session)
|
17
|
+
@another_guest.debug.should be_kind_of(Capybara::Session)
|
16
18
|
end
|
17
19
|
|
18
20
|
it "guests should have separate session if param :session_name defined" do
|
@@ -29,9 +31,11 @@ describe "Kameleon::User::Guest" do
|
|
29
31
|
before(:all) do
|
30
32
|
@selenium = Kameleon::User::Guest.new(self, {:session_name => :new_world, :driver => :selenium, :skip_page_autoload => true})
|
31
33
|
end
|
34
|
+
|
32
35
|
it "should set Selenium if params :driver => :selenium" do
|
33
36
|
@selenium.debug.driver.should be_a Capybara::Selenium::Driver
|
34
37
|
end
|
38
|
+
|
35
39
|
it "shouldn't change drivers for other users'" do
|
36
40
|
[@guest, @another_guest].each do |user|
|
37
41
|
user.debug.driver.should be_a Capybara::RackTest::Driver
|
data/spec/unit/user_base_spec.rb
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "Kameleon::User::Base" do
|
4
|
-
|
4
|
+
pending do
|
5
|
+
include ::Capybara::DSL
|
5
6
|
|
6
|
-
|
7
|
-
Capybara.app = Hey.new("Hello You :-)")
|
8
|
-
end
|
9
|
-
|
10
|
-
# initilization
|
7
|
+
# initilization
|
11
8
|
|
12
|
-
|
9
|
+
#! overwriting using block for initialization
|
13
10
|
|
14
|
-
|
11
|
+
# login in
|
12
|
+
end
|
15
13
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kameleon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-
|
14
|
+
date: 2012-02-11 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|
18
|
-
requirement: &
|
18
|
+
requirement: &21283260 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *21283260
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: capybara
|
29
|
-
requirement: &
|
29
|
+
requirement: &21282240 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *21282240
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: selenium-webdriver
|
40
|
-
requirement: &
|
40
|
+
requirement: &21280800 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,10 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *21280800
|
49
49
|
- !ruby/object:Gem::Dependency
|
50
50
|
name: rspec
|
51
|
-
requirement: &
|
51
|
+
requirement: &21279900 !ruby/object:Gem::Requirement
|
52
52
|
none: false
|
53
53
|
requirements:
|
54
54
|
- - ! '>='
|
@@ -56,10 +56,10 @@ dependencies:
|
|
56
56
|
version: '0'
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
|
-
version_requirements: *
|
59
|
+
version_requirements: *21279900
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: capybara
|
62
|
-
requirement: &
|
62
|
+
requirement: &21278940 !ruby/object:Gem::Requirement
|
63
63
|
none: false
|
64
64
|
requirements:
|
65
65
|
- - ! '>='
|
@@ -67,10 +67,10 @@ dependencies:
|
|
67
67
|
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
|
-
version_requirements: *
|
70
|
+
version_requirements: *21278940
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: guard-rspec
|
73
|
-
requirement: &
|
73
|
+
requirement: &21278400 !ruby/object:Gem::Requirement
|
74
74
|
none: false
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
@@ -78,7 +78,7 @@ dependencies:
|
|
78
78
|
version: '0'
|
79
79
|
type: :development
|
80
80
|
prerelease: false
|
81
|
-
version_requirements: *
|
81
|
+
version_requirements: *21278400
|
82
82
|
description: high abstraction dsl for end user perspective tests, kameleon - it's
|
83
83
|
a polish word for chameleon
|
84
84
|
email: michalczyz@gmail.com
|
@@ -86,53 +86,58 @@ executables: []
|
|
86
86
|
extensions: []
|
87
87
|
extra_rdoc_files: []
|
88
88
|
files:
|
89
|
-
- lib/kameleon/user/guest.rb
|
90
89
|
- lib/kameleon/user/base.rb
|
91
90
|
- lib/kameleon/user/abstract.rb
|
91
|
+
- lib/kameleon/user/guest.rb
|
92
92
|
- lib/kameleon/session/capybara.rb
|
93
|
-
- lib/kameleon/
|
93
|
+
- lib/kameleon/session/server.rb
|
94
|
+
- lib/kameleon/session/session_pool.rb
|
94
95
|
- lib/kameleon/dsl/act.rb
|
96
|
+
- lib/kameleon/dsl/see.rb
|
97
|
+
- lib/kameleon/utils/configuration.rb
|
98
|
+
- lib/kameleon/utils/helpers.rb
|
95
99
|
- lib/kameleon.rb
|
96
|
-
-
|
100
|
+
- lib/patch/capybara_selenium_driver.rb
|
97
101
|
- spec/unit/act/fill_in/attach_file_spec.rb
|
98
102
|
- spec/unit/act/fill_in/checkbox_spec.rb
|
99
103
|
- spec/unit/act/fill_in/date_ranges_spec.rb
|
100
104
|
- spec/unit/act/fill_in/multiple_select_spec.rb
|
101
105
|
- spec/unit/act/fill_in/radio_button_spec.rb
|
102
|
-
- spec/unit/act/fill_in/text_area_spec.rb
|
103
106
|
- spec/unit/act/fill_in/select_spec.rb
|
107
|
+
- spec/unit/act/fill_in/text_area_spec.rb
|
104
108
|
- spec/unit/act/fill_in/text_input_spec.rb
|
109
|
+
- spec/unit/act/click_spec.rb
|
105
110
|
- spec/unit/act/on_hover_spec.rb
|
106
111
|
- spec/unit/dsl/not_see/form_elements/fields/empty_spec.rb
|
107
112
|
- spec/unit/dsl/not_see/form_elements/fields/readonly_spec.rb
|
108
113
|
- spec/unit/dsl/not_see/form_elements/fields_spec.rb
|
109
114
|
- spec/unit/dsl/not_see/form_elements/textareas_spec.rb
|
110
115
|
- spec/unit/dsl/not_see/form_elements/texts_spec.rb
|
111
|
-
- spec/unit/dsl/not_see/in_scopes_spec.rb
|
112
116
|
- spec/unit/dsl/not_see/special_elements/buttons_spec.rb
|
113
117
|
- spec/unit/dsl/not_see/special_elements/error_message_for_spec.rb
|
114
118
|
- spec/unit/dsl/not_see/special_elements/images_spec.rb
|
115
119
|
- spec/unit/dsl/not_see/special_elements/links_spec.rb
|
116
120
|
- spec/unit/dsl/not_see/special_elements/ordered_texts_spec.rb
|
121
|
+
- spec/unit/dsl/not_see/in_scopes_spec.rb
|
117
122
|
- spec/unit/dsl/not_see/special_selectors_spec.rb
|
118
123
|
- spec/unit/dsl/not_see/texts_spec.rb
|
119
|
-
- spec/unit/dsl/see/counted_elements_spec.rb
|
120
|
-
- spec/unit/dsl/see/form_elements/checkboxes_spec.rb
|
121
124
|
- spec/unit/dsl/see/form_elements/fields/disabled_spec.rb
|
122
125
|
- spec/unit/dsl/see/form_elements/fields/empty_spec.rb
|
123
126
|
- spec/unit/dsl/see/form_elements/fields/readonly_spec.rb
|
127
|
+
- spec/unit/dsl/see/form_elements/checkboxes_spec.rb
|
124
128
|
- spec/unit/dsl/see/form_elements/fields_spec.rb
|
129
|
+
- spec/unit/dsl/see/form_elements/multiple_selects_spec.rb
|
125
130
|
- spec/unit/dsl/see/form_elements/radio_buttons_spec.rb
|
126
131
|
- spec/unit/dsl/see/form_elements/selects_spec.rb
|
127
132
|
- spec/unit/dsl/see/form_elements/textareas_spec.rb
|
128
133
|
- spec/unit/dsl/see/form_elements/texts_spec.rb
|
129
|
-
- spec/unit/dsl/see/form_elements/multiple_selects_spec.rb
|
130
|
-
- spec/unit/dsl/see/in_scopes_spec.rb
|
131
134
|
- spec/unit/dsl/see/special_elements/buttons_spec.rb
|
132
135
|
- spec/unit/dsl/see/special_elements/error_message_for_spec.rb
|
133
136
|
- spec/unit/dsl/see/special_elements/images_spec.rb
|
134
137
|
- spec/unit/dsl/see/special_elements/links_spec.rb
|
135
138
|
- spec/unit/dsl/see/special_elements/ordered_texts_spec.rb
|
139
|
+
- spec/unit/dsl/see/counted_elements_spec.rb
|
140
|
+
- spec/unit/dsl/see/in_scopes_spec.rb
|
136
141
|
- spec/unit/dsl/see/special_selectors_spec.rb
|
137
142
|
- spec/unit/dsl/see/texts_spec.rb
|
138
143
|
- spec/unit/guest_spec.rb
|
@@ -167,3 +172,4 @@ signing_key:
|
|
167
172
|
specification_version: 3
|
168
173
|
summary: high abstraction dsl for end user perspective tests
|
169
174
|
test_files: []
|
175
|
+
has_rdoc:
|