kameleon 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|