capybara 2.14.0 → 2.14.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.md +12 -0
- data/README.md +1 -1
- data/lib/capybara.rb +16 -15
- data/lib/capybara/minitest.rb +92 -113
- data/lib/capybara/minitest/spec.rb +12 -37
- data/lib/capybara/node/matchers.rb +6 -5
- data/lib/capybara/queries/base_query.rb +4 -0
- data/lib/capybara/queries/current_path_query.rb +1 -0
- data/lib/capybara/queries/selector_query.rb +39 -12
- data/lib/capybara/queries/text_query.rb +1 -1
- data/lib/capybara/queries/title_query.rb +1 -0
- data/lib/capybara/rack_test/driver.rb +1 -0
- data/lib/capybara/rspec/matcher_proxies.rb +10 -6
- data/lib/capybara/rspec/matchers.rb +29 -0
- data/lib/capybara/selector.rb +61 -50
- data/lib/capybara/selector/expression_filter.rb +40 -0
- data/lib/capybara/selector/filter_set.rb +22 -3
- data/lib/capybara/selector/selector.rb +33 -12
- data/lib/capybara/selenium/driver.rb +130 -25
- data/lib/capybara/selenium/node.rb +3 -3
- data/lib/capybara/session/config.rb +29 -23
- data/lib/capybara/session/matchers.rb +3 -0
- data/lib/capybara/spec/session/accept_alert_spec.rb +1 -1
- data/lib/capybara/spec/session/all_spec.rb +2 -1
- data/lib/capybara/spec/session/assert_selector.rb +1 -1
- data/lib/capybara/spec/session/assert_title.rb +22 -9
- data/lib/capybara/spec/session/dismiss_confirm_spec.rb +3 -3
- data/lib/capybara/spec/session/dismiss_prompt_spec.rb +1 -1
- data/lib/capybara/spec/session/find_spec.rb +3 -2
- data/lib/capybara/spec/session/first_spec.rb +10 -5
- data/lib/capybara/spec/session/has_css_spec.rb +11 -0
- data/lib/capybara/spec/session/has_current_path_spec.rb +5 -3
- data/lib/capybara/spec/session/has_select_spec.rb +62 -4
- data/lib/capybara/spec/session/has_text_spec.rb +5 -3
- data/lib/capybara/spec/session/has_title_spec.rb +4 -2
- data/lib/capybara/spec/session/has_xpath_spec.rb +5 -3
- data/lib/capybara/spec/session/node_spec.rb +8 -4
- data/lib/capybara/spec/session/window/become_closed_spec.rb +4 -4
- data/lib/capybara/spec/session/window/window_opened_by_spec.rb +4 -4
- data/lib/capybara/spec/spec_helper.rb +1 -1
- data/lib/capybara/spec/views/form.erb +22 -1
- data/lib/capybara/spec/views/with_html.erb +1 -1
- data/lib/capybara/version.rb +1 -1
- data/spec/capybara_spec.rb +16 -0
- data/spec/filter_set_spec.rb +28 -0
- data/spec/minitest_spec_spec.rb +4 -4
- data/spec/per_session_config_spec.rb +4 -4
- data/spec/result_spec.rb +20 -0
- data/spec/selector_spec.rb +2 -1
- data/spec/selenium_spec_chrome.rb +12 -1
- data/spec/selenium_spec_firefox.rb +2 -1
- data/spec/selenium_spec_marionette.rb +4 -3
- data/spec/shared_selenium_session.rb +14 -7
- metadata +18 -2
@@ -22,6 +22,7 @@ module Capybara
|
|
22
22
|
|
23
23
|
##
|
24
24
|
# Asserts that the page doesn't have the given path.
|
25
|
+
# By default this will compare against the path+query portion of the full url
|
25
26
|
#
|
26
27
|
# @macro current_path_query_params
|
27
28
|
# @raise [Capybara::ExpectationNotMet] if the assertion hasn't succeeded during wait time
|
@@ -33,6 +34,7 @@ module Capybara
|
|
33
34
|
|
34
35
|
##
|
35
36
|
# Checks if the page has the given path.
|
37
|
+
# By default this will compare against the path+query portion of the full url
|
36
38
|
#
|
37
39
|
# @macro current_path_query_params
|
38
40
|
# @return [Boolean]
|
@@ -45,6 +47,7 @@ module Capybara
|
|
45
47
|
|
46
48
|
##
|
47
49
|
# Checks if the page doesn't have the given path.
|
50
|
+
# By default this will compare against the path+query portion of the full url
|
48
51
|
#
|
49
52
|
# @macro current_path_query_params
|
50
53
|
# @return [Boolean]
|
@@ -63,7 +63,7 @@ Capybara::SpecHelper.spec '#accept_alert', requires: [:modals] do
|
|
63
63
|
end
|
64
64
|
|
65
65
|
it "should allow to adjust the delay" do
|
66
|
-
@session.accept_alert wait:
|
66
|
+
@session.accept_alert wait: 10 do
|
67
67
|
@session.click_link('Open slow alert')
|
68
68
|
end
|
69
69
|
expect(@session).to have_xpath("//a[@id='open-slow-alert' and @opened='true']")
|
@@ -16,7 +16,8 @@ Capybara::SpecHelper.spec "#all" do
|
|
16
16
|
|
17
17
|
it "should accept an XPath instance" do
|
18
18
|
@session.visit('/form')
|
19
|
-
@xpath =
|
19
|
+
@xpath = Capybara::Selector.all[:fillable_field].call('Name')
|
20
|
+
expect(@xpath).to be_a(::XPath::Union)
|
20
21
|
@result = @session.all(@xpath).map { |r| r.value }
|
21
22
|
expect(@result).to include('Smith', 'John', 'John Smith')
|
22
23
|
end
|
@@ -65,7 +65,7 @@ Capybara::SpecHelper.spec '#assert_selector' do
|
|
65
65
|
Capybara.using_wait_time(0.1) do
|
66
66
|
@session.visit('/with_js')
|
67
67
|
@session.click_link('Click me')
|
68
|
-
@session.assert_selector(:css, "a#has-been-clicked", text: "Has been clicked", wait:
|
68
|
+
@session.assert_selector(:css, "a#has-been-clicked", text: "Has been clicked", wait: 2)
|
69
69
|
end
|
70
70
|
end
|
71
71
|
end
|
@@ -4,16 +4,23 @@ Capybara::SpecHelper.spec '#assert_title' do
|
|
4
4
|
@session.visit('/with_js')
|
5
5
|
end
|
6
6
|
|
7
|
-
it "should
|
8
|
-
expect
|
7
|
+
it "should not raise if the page's title contains the given string" do
|
8
|
+
expect do
|
9
|
+
@session.assert_title('js')
|
10
|
+
end.not_to raise_error
|
9
11
|
end
|
10
12
|
|
11
|
-
it "should
|
12
|
-
expect
|
13
|
+
it "should not raise when given an empty string" do
|
14
|
+
expect do
|
15
|
+
@session.assert_title('')
|
16
|
+
end.not_to raise_error
|
13
17
|
end
|
14
18
|
|
15
19
|
it "should allow regexp matches" do
|
16
|
-
expect
|
20
|
+
expect do
|
21
|
+
@session.assert_title(/w[a-z]{3}_js/)
|
22
|
+
end.not_to raise_error
|
23
|
+
|
17
24
|
expect do
|
18
25
|
@session.assert_title(/w[a-z]{10}_js/)
|
19
26
|
end.to raise_error(Capybara::ExpectationNotMet, 'expected "with_js" to match /w[a-z]{10}_js/')
|
@@ -21,7 +28,9 @@ Capybara::SpecHelper.spec '#assert_title' do
|
|
21
28
|
|
22
29
|
it "should wait for title", requires: [:js] do
|
23
30
|
@session.click_link("Change title")
|
24
|
-
expect
|
31
|
+
expect do
|
32
|
+
@session.assert_title("changed title", wait: 3)
|
33
|
+
end.not_to raise_error
|
25
34
|
end
|
26
35
|
|
27
36
|
it "should raise error if the title doesn't contain the given string" do
|
@@ -61,10 +70,14 @@ Capybara::SpecHelper.spec '#assert_no_title' do
|
|
61
70
|
|
62
71
|
it "should wait for title to disappear", requires: [:js] do
|
63
72
|
@session.click_link("Change title")
|
64
|
-
expect
|
73
|
+
expect do
|
74
|
+
@session.assert_no_title('with_js', wait: 3)
|
75
|
+
end.not_to raise_error
|
65
76
|
end
|
66
77
|
|
67
|
-
it "should
|
68
|
-
expect
|
78
|
+
it "should not raise if the title doesn't contain the given string" do
|
79
|
+
expect do
|
80
|
+
@session.assert_no_title('monkey')
|
81
|
+
end.not_to raise_error
|
69
82
|
end
|
70
83
|
end
|
@@ -10,14 +10,14 @@ Capybara::SpecHelper.spec '#dismiss_confirm', requires: [:modals] do
|
|
10
10
|
end
|
11
11
|
expect(@session).to have_xpath("//a[@id='open-confirm' and @confirmed='false']")
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
it "should dismiss the confirm if the message matches" do
|
15
15
|
@session.dismiss_confirm 'Confirm opened' do
|
16
16
|
@session.click_link('Open confirm')
|
17
17
|
end
|
18
18
|
expect(@session).to have_xpath("//a[@id='open-confirm' and @confirmed='false']")
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
it "should not dismiss the confirm if the message doesn't match" do
|
22
22
|
expect do
|
23
23
|
@session.dismiss_confirm 'Incorrect Text' do
|
@@ -25,7 +25,7 @@ Capybara::SpecHelper.spec '#dismiss_confirm', requires: [:modals] do
|
|
25
25
|
end
|
26
26
|
end.to raise_error(Capybara::ModalNotFound)
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
|
30
30
|
it "should return the message presented" do
|
31
31
|
message = @session.dismiss_confirm do
|
@@ -10,7 +10,7 @@ Capybara::SpecHelper.spec '#dismiss_prompt', requires: [:modals] do
|
|
10
10
|
end
|
11
11
|
expect(@session).to have_xpath("//a[@id='open-prompt' and @response='dismissed']")
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
it "should return the message presented" do
|
15
15
|
message = @session.dismiss_prompt do
|
16
16
|
@session.click_link('Open prompt')
|
@@ -54,7 +54,7 @@ Capybara::SpecHelper.spec '#find' do
|
|
54
54
|
it "should find element if it appears before given wait duration" do
|
55
55
|
@session.visit('/with_js')
|
56
56
|
@session.click_link('Click me')
|
57
|
-
expect(@session.find(:css, "a#has-been-clicked", wait: 0
|
57
|
+
expect(@session.find(:css, "a#has-been-clicked", wait: 2.0).text).to include('Has been clicked')
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -210,7 +210,8 @@ Capybara::SpecHelper.spec '#find' do
|
|
210
210
|
|
211
211
|
it "should accept an XPath instance" do
|
212
212
|
@session.visit('/form')
|
213
|
-
@xpath =
|
213
|
+
@xpath = Capybara::Selector.all[:fillable_field].call('First Name')
|
214
|
+
expect(@xpath).to be_a(::XPath::Union)
|
214
215
|
expect(@session.find(@xpath).value).to eq('John')
|
215
216
|
end
|
216
217
|
|
@@ -15,7 +15,8 @@ Capybara::SpecHelper.spec '#first' do
|
|
15
15
|
|
16
16
|
it "should accept an XPath instance" do
|
17
17
|
@session.visit('/form')
|
18
|
-
@xpath =
|
18
|
+
@xpath = Capybara::Selector.all[:fillable_field].call('First Name')
|
19
|
+
expect(@xpath).to be_a(::XPath::Union)
|
19
20
|
expect(@session.first(@xpath).value).to eq('John')
|
20
21
|
end
|
21
22
|
|
@@ -110,14 +111,18 @@ Capybara::SpecHelper.spec '#first' do
|
|
110
111
|
|
111
112
|
it "should wait for at least one match if true" do
|
112
113
|
Capybara.wait_on_first_by_default = true
|
113
|
-
|
114
|
-
|
114
|
+
Capybara.using_wait_time(3) do
|
115
|
+
@session.click_link('clickable')
|
116
|
+
expect(@session.first(:css, 'a#has-been-clicked')).not_to be_nil
|
117
|
+
end
|
115
118
|
end
|
116
119
|
|
117
120
|
it "should return nil after waiting if no match" do
|
118
121
|
Capybara.wait_on_first_by_default = true
|
119
|
-
|
120
|
-
|
122
|
+
Capybara.using_wait_time(3) do
|
123
|
+
@session.click_link('clickable')
|
124
|
+
expect(@session.first(:css, 'a#not-a-real-link')).to be_nil
|
125
|
+
end
|
121
126
|
end
|
122
127
|
end
|
123
128
|
end
|
@@ -112,6 +112,17 @@ Capybara::SpecHelper.spec '#has_css?' do
|
|
112
112
|
expect(@session).not_to have_css("p a", text: /Red$/)
|
113
113
|
end
|
114
114
|
end
|
115
|
+
|
116
|
+
it "should allow escapes in the CSS selector" do
|
117
|
+
if (defined?(TestClass) && @session.is_a?(TestClass)) || @session.driver.is_a?(Capybara::RackTest::Driver)
|
118
|
+
# Nokogiri doesn't unescape CSS selectors when converting from CSS to XPath
|
119
|
+
# See: https://github.com/teamcapybara/capybara/issues/1866
|
120
|
+
# Also: https://github.com/sparklemotion/nokogiri/pull/1646
|
121
|
+
pending "Current Nokogiri doesn't handle escapes in CSS attribute selectors correctly"
|
122
|
+
end
|
123
|
+
expect(@session).to have_css('p[data-random="abc\\\\def"]')
|
124
|
+
expect(@session).to have_css("p[data-random='#{Capybara::Selector::CSS.escape('abc\def')}']")
|
125
|
+
end
|
115
126
|
end
|
116
127
|
|
117
128
|
Capybara::SpecHelper.spec '#has_no_css?' do
|
@@ -25,7 +25,7 @@ Capybara::SpecHelper.spec '#has_current_path?' do
|
|
25
25
|
|
26
26
|
it "should wait for current_path", requires: [:js] do
|
27
27
|
@session.click_link("Change page")
|
28
|
-
expect(@session).to have_current_path("/with_html")
|
28
|
+
expect(@session).to have_current_path("/with_html", wait: 3)
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should be false if the page has not the given current_path" do
|
@@ -83,8 +83,10 @@ Capybara::SpecHelper.spec '#has_no_current_path?' do
|
|
83
83
|
end
|
84
84
|
|
85
85
|
it "should wait for current_path to disappear", requires: [:js] do
|
86
|
-
|
87
|
-
|
86
|
+
Capybara.using_wait_time(3) do
|
87
|
+
@session.click_link("Change page")
|
88
|
+
expect(@session).to have_no_current_path('/with_js')
|
89
|
+
end
|
88
90
|
end
|
89
91
|
|
90
92
|
it "should be true if the page has not the given current_path" do
|
@@ -67,6 +67,36 @@ Capybara::SpecHelper.spec '#has_select?' do
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
|
+
context 'with partial select' do
|
71
|
+
it "should be true if a field with the given partial values is on the page" do
|
72
|
+
expect(@session).to have_select('Underwear', with_selected: ['Boxerbriefs', 'Briefs'])
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should be false if a field with the given partial values is not on the page" do
|
76
|
+
expect(@session).not_to have_select('Underwear', with_selected: ['Boxerbriefs', 'Boxers'])
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should be true after the given partial value is selected" do
|
80
|
+
@session.select('Boxers', from: 'Underwear')
|
81
|
+
expect(@session).to have_select('Underwear', with_selected: ['Boxerbriefs', 'Boxers'])
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should be false after one of the given partial values is unselected" do
|
85
|
+
@session.unselect('Briefs', from: 'Underwear')
|
86
|
+
expect(@session).not_to have_select('Underwear', with_selected: ['Boxerbriefs', 'Briefs'])
|
87
|
+
end
|
88
|
+
|
89
|
+
it "should be true even when the selected values are invisible, regardless of the select's visibility" do
|
90
|
+
expect(@session).to have_select('Dessert', visible: false, with_options: ['Pudding', 'Tiramisu'])
|
91
|
+
expect(@session).to have_select('Cake', with_selected: ['Chocolate Cake', 'Sponge Cake'])
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should support non array partial values" do
|
95
|
+
expect(@session).to have_select('Underwear', with_selected: 'Briefs')
|
96
|
+
expect(@session).not_to have_select('Underwear', with_selected: 'Boxers')
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
70
100
|
context 'with exact options' do
|
71
101
|
it "should be true if a field with the given options is on the page" do
|
72
102
|
expect(@session).to have_select('Region', options: ['Norway', 'Sweden', 'Finland'])
|
@@ -81,10 +111,9 @@ Capybara::SpecHelper.spec '#has_select?' do
|
|
81
111
|
expect(@session).not_to have_select('Region', options: ['Norway', 'Norway', 'Norway'])
|
82
112
|
end
|
83
113
|
|
84
|
-
it"
|
114
|
+
it "should be true even when the options are invisible, if the select itself is invisible" do
|
85
115
|
expect(@session).to have_select("Icecream", visible: false, options: ['Chocolate', 'Vanilla', 'Strawberry'])
|
86
116
|
end
|
87
|
-
|
88
117
|
end
|
89
118
|
|
90
119
|
context 'with partial options' do
|
@@ -99,7 +128,7 @@ Capybara::SpecHelper.spec '#has_select?' do
|
|
99
128
|
expect(@session).not_to have_select('Region', with_options: ['Norway', 'Sweden', 'Finland', 'Latvia'])
|
100
129
|
end
|
101
130
|
|
102
|
-
it"
|
131
|
+
it "should be true even when the options are invisible, if the select itself is invisible" do
|
103
132
|
expect(@session).to have_select("Icecream", visible: false, with_options: ['Vanilla', 'Strawberry'])
|
104
133
|
end
|
105
134
|
end
|
@@ -123,7 +152,9 @@ Capybara::SpecHelper.spec '#has_select?' do
|
|
123
152
|
|
124
153
|
it "should support locator-less usage" do
|
125
154
|
expect(@session.has_select?(with_options: ['Norway', 'Sweden'])).to eq true
|
126
|
-
expect(@session).to have_select(with_options: ['London']
|
155
|
+
expect(@session).to have_select(with_options: ['London'])
|
156
|
+
expect(@session.has_select?(with_selected: ['Commando', 'Boxerbriefs'])).to eq true
|
157
|
+
expect(@session).to have_select(with_selected: ['Briefs'])
|
127
158
|
end
|
128
159
|
end
|
129
160
|
|
@@ -189,6 +220,31 @@ Capybara::SpecHelper.spec '#has_no_select?' do
|
|
189
220
|
end
|
190
221
|
end
|
191
222
|
|
223
|
+
context 'with partial select' do
|
224
|
+
it "should be false if a field with the given partial values is on the page" do
|
225
|
+
expect(@session).not_to have_no_select('Underwear', with_selected: ['Boxerbriefs', 'Briefs'])
|
226
|
+
end
|
227
|
+
|
228
|
+
it "should be true if a field with the given partial values is not on the page" do
|
229
|
+
expect(@session).to have_no_select('Underwear', with_selected: ['Boxerbriefs', 'Boxers'])
|
230
|
+
end
|
231
|
+
|
232
|
+
it "should be false after the given partial value is selected" do
|
233
|
+
@session.select('Boxers', from: 'Underwear')
|
234
|
+
expect(@session).not_to have_no_select('Underwear', with_selected: ['Boxerbriefs', 'Boxers'])
|
235
|
+
end
|
236
|
+
|
237
|
+
it "should be true after one of the given partial values is unselected" do
|
238
|
+
@session.unselect('Briefs', from: 'Underwear')
|
239
|
+
expect(@session).to have_no_select('Underwear', with_selected: ['Boxerbriefs', 'Briefs'])
|
240
|
+
end
|
241
|
+
|
242
|
+
it "should support non array partial values" do
|
243
|
+
expect(@session).not_to have_no_select('Underwear', with_selected: 'Briefs')
|
244
|
+
expect(@session).to have_no_select('Underwear', with_selected: 'Boxers')
|
245
|
+
end
|
246
|
+
end
|
247
|
+
|
192
248
|
context 'with exact options' do
|
193
249
|
it "should be false if a field with the given options is on the page" do
|
194
250
|
expect(@session).not_to have_no_select('Region', options: ['Norway', 'Sweden', 'Finland'])
|
@@ -219,5 +275,7 @@ Capybara::SpecHelper.spec '#has_no_select?' do
|
|
219
275
|
it "should support locator-less usage" do
|
220
276
|
expect(@session.has_no_select?(with_options: ['Norway', 'Sweden', 'Finland', 'Latvia'])).to eq true
|
221
277
|
expect(@session).to have_no_select(with_options: ['New London'] )
|
278
|
+
expect(@session.has_no_select?(with_selected: ['Boxers'])).to eq true
|
279
|
+
expect(@session).to have_no_select(with_selected: ['Commando', 'Boxers'])
|
222
280
|
end
|
223
281
|
end
|
@@ -125,9 +125,11 @@ Capybara::SpecHelper.spec '#has_text?' do
|
|
125
125
|
end
|
126
126
|
|
127
127
|
it "should wait for text to appear", requires: [:js] do
|
128
|
-
|
129
|
-
|
130
|
-
|
128
|
+
Capybara.using_wait_time(3) do
|
129
|
+
@session.visit('/with_js')
|
130
|
+
@session.click_link('Click me')
|
131
|
+
expect(@session).to have_text("Has been clicked")
|
132
|
+
end
|
131
133
|
end
|
132
134
|
|
133
135
|
context "with between" do
|
@@ -53,8 +53,10 @@ Capybara::SpecHelper.spec '#has_no_title?' do
|
|
53
53
|
end
|
54
54
|
|
55
55
|
it "should wait for title to disappear", requires: [:js] do
|
56
|
-
|
57
|
-
|
56
|
+
Capybara.using_wait_time(5) do
|
57
|
+
@session.click_link("Change title") # triggers title change after 400ms
|
58
|
+
expect(@session).to have_no_title('with_js')
|
59
|
+
end
|
58
60
|
end
|
59
61
|
|
60
62
|
it "should be true if the page has not the given title" do
|
@@ -29,9 +29,11 @@ Capybara::SpecHelper.spec '#has_xpath?' do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should wait for content to appear", requires: [:js] do
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
Capybara.using_wait_time(3) do
|
33
|
+
@session.visit('/with_js')
|
34
|
+
@session.click_link('Click me') # updates page after 500ms
|
35
|
+
expect(@session).to have_xpath("//input[@type='submit' and @value='New Here']")
|
36
|
+
end
|
35
37
|
end
|
36
38
|
|
37
39
|
context "with count" do
|
@@ -428,11 +428,15 @@ Capybara::SpecHelper.spec "node" do
|
|
428
428
|
end
|
429
429
|
|
430
430
|
context "with automatic reload" do
|
431
|
+
before do
|
432
|
+
Capybara.default_max_wait_time = 4
|
433
|
+
end
|
434
|
+
|
431
435
|
it "should reload the current context of the node automatically" do
|
432
436
|
@session.visit('/with_js')
|
433
437
|
node = @session.find(:css, '#reload-me')
|
434
438
|
@session.click_link('Reload!')
|
435
|
-
sleep(
|
439
|
+
sleep(1)
|
436
440
|
expect(node.text).to eq('has been reloaded')
|
437
441
|
end
|
438
442
|
|
@@ -440,7 +444,7 @@ Capybara::SpecHelper.spec "node" do
|
|
440
444
|
@session.visit('/with_js')
|
441
445
|
node = @session.find(:css, '#reload-me').find(:css, 'em')
|
442
446
|
@session.click_link('Reload!')
|
443
|
-
sleep(
|
447
|
+
sleep(1)
|
444
448
|
expect(node.text).to eq('has been reloaded')
|
445
449
|
end
|
446
450
|
|
@@ -448,7 +452,7 @@ Capybara::SpecHelper.spec "node" do
|
|
448
452
|
@session.visit('/with_js')
|
449
453
|
node = @session.find(:css, '#reload-me')
|
450
454
|
@session.click_link('Reload!')
|
451
|
-
sleep(
|
455
|
+
sleep(1)
|
452
456
|
expect(node.find(:css, 'a').text).to eq('has been reloaded')
|
453
457
|
end
|
454
458
|
|
@@ -456,7 +460,7 @@ Capybara::SpecHelper.spec "node" do
|
|
456
460
|
@session.visit('/with_js')
|
457
461
|
node = @session.all(:css, '#the-list li')[1]
|
458
462
|
@session.click_link('Fetch new list!')
|
459
|
-
sleep(
|
463
|
+
sleep(1)
|
460
464
|
|
461
465
|
expect do
|
462
466
|
expect(node).to have_text('Foo')
|
@@ -21,7 +21,7 @@ Capybara::SpecHelper.spec '#become_closed', requires: [:windows, :js] do
|
|
21
21
|
@session.execute_script('setTimeout(function(){ window.close(); }, 500);')
|
22
22
|
end
|
23
23
|
Capybara.using_wait_time 0.1 do
|
24
|
-
expect(@other_window).to become_closed(wait:
|
24
|
+
expect(@other_window).to become_closed(wait: 5)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -42,7 +42,7 @@ Capybara::SpecHelper.spec '#become_closed', requires: [:windows, :js] do
|
|
42
42
|
@session.within_window @other_window do
|
43
43
|
@session.execute_script('setTimeout(function(){ window.close(); }, 500);')
|
44
44
|
end
|
45
|
-
Capybara.using_wait_time
|
45
|
+
Capybara.using_wait_time 5 do
|
46
46
|
expect(@other_window).to become_closed
|
47
47
|
end
|
48
48
|
end
|
@@ -75,10 +75,10 @@ Capybara::SpecHelper.spec '#become_closed', requires: [:windows, :js] do
|
|
75
75
|
@session.within_window @other_window do
|
76
76
|
@session.execute_script('setTimeout(function(){ window.close(); }, 700);')
|
77
77
|
end
|
78
|
-
Capybara.using_wait_time
|
78
|
+
Capybara.using_wait_time 3.1 do
|
79
79
|
expect do
|
80
80
|
expect(@other_window).not_to become_closed
|
81
|
-
end.to raise_error(RSpec::Expectations::ExpectationNotMetError, /\Aexpected #<Window @handle=".+"> not to become closed after
|
81
|
+
end.to raise_error(RSpec::Expectations::ExpectationNotMetError, /\Aexpected #<Window @handle=".+"> not to become closed after 3.1 seconds\Z/)
|
82
82
|
end
|
83
83
|
end
|
84
84
|
end
|