capybara 2.0.3 → 2.1.0.beta1
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.tar.gz.sig +0 -0
- data/History.md +73 -0
- data/README.md +52 -5
- data/lib/capybara.rb +44 -62
- data/lib/capybara/cucumber.rb +4 -1
- data/lib/capybara/driver/base.rb +13 -9
- data/lib/capybara/driver/node.rb +18 -6
- data/lib/capybara/helpers.rb +111 -22
- data/lib/capybara/node/actions.rb +24 -19
- data/lib/capybara/node/base.rb +25 -32
- data/lib/capybara/node/document.rb +6 -2
- data/lib/capybara/node/element.rb +45 -7
- data/lib/capybara/node/finders.rb +48 -21
- data/lib/capybara/node/matchers.rb +38 -21
- data/lib/capybara/node/simple.rb +29 -7
- data/lib/capybara/query.rb +72 -26
- data/lib/capybara/rack_test/browser.rb +11 -3
- data/lib/capybara/rack_test/css_handlers.rb +8 -0
- data/lib/capybara/rack_test/driver.rb +11 -3
- data/lib/capybara/rack_test/form.rb +8 -1
- data/lib/capybara/rack_test/node.rb +92 -36
- data/lib/capybara/rails.rb +1 -2
- data/lib/capybara/result.rb +21 -37
- data/lib/capybara/rspec/matchers.rb +60 -31
- data/lib/capybara/selector.rb +46 -13
- data/lib/capybara/selenium/driver.rb +42 -6
- data/lib/capybara/selenium/node.rb +23 -5
- data/lib/capybara/session.rb +46 -11
- data/lib/capybara/spec/public/test.js +12 -0
- data/lib/capybara/spec/session/all_spec.rb +9 -8
- data/lib/capybara/spec/session/attach_file_spec.rb +14 -0
- data/lib/capybara/spec/session/check_spec.rb +14 -0
- data/lib/capybara/spec/session/choose_spec.rb +14 -0
- data/lib/capybara/spec/session/click_button_spec.rb +77 -1
- data/lib/capybara/spec/session/click_link_or_button_spec.rb +65 -0
- data/lib/capybara/spec/session/click_link_spec.rb +24 -0
- data/lib/capybara/spec/session/current_scope_spec.rb +29 -0
- data/lib/capybara/spec/session/fill_in_spec.rb +14 -0
- data/lib/capybara/spec/session/find_button_spec.rb +12 -0
- data/lib/capybara/spec/session/find_by_id_spec.rb +12 -1
- data/lib/capybara/spec/session/find_field_spec.rb +30 -0
- data/lib/capybara/spec/session/find_link_spec.rb +12 -0
- data/lib/capybara/spec/session/find_spec.rb +258 -16
- data/lib/capybara/spec/session/first_spec.rb +25 -8
- data/lib/capybara/spec/session/has_css_spec.rb +2 -2
- data/lib/capybara/spec/session/has_field_spec.rb +10 -2
- data/lib/capybara/spec/session/has_selector_spec.rb +9 -0
- data/lib/capybara/spec/session/has_text_spec.rb +96 -0
- data/lib/capybara/spec/session/has_title_spec.rb +47 -0
- data/lib/capybara/spec/session/node_spec.rb +43 -0
- data/lib/capybara/spec/session/reset_session_spec.rb +10 -2
- data/lib/capybara/spec/session/save_page_spec.rb +30 -0
- data/lib/capybara/spec/session/select_spec.rb +65 -0
- data/lib/capybara/spec/session/text_spec.rb +31 -0
- data/lib/capybara/spec/session/title_spec.rb +16 -0
- data/lib/capybara/spec/session/uncheck_spec.rb +14 -0
- data/lib/capybara/spec/session/unselect_spec.rb +42 -0
- data/lib/capybara/spec/session/visit_spec.rb +3 -3
- data/lib/capybara/spec/session/within_frame_spec.rb +14 -0
- data/lib/capybara/spec/session/within_spec.rb +3 -3
- data/lib/capybara/spec/spec_helper.rb +6 -1
- data/lib/capybara/spec/views/form.erb +39 -2
- data/lib/capybara/spec/views/frame_child.erb +9 -0
- data/lib/capybara/spec/views/frame_parent.erb +8 -0
- data/lib/capybara/spec/views/with_base_tag.erb +10 -0
- data/lib/capybara/spec/views/with_count.erb +7 -0
- data/lib/capybara/spec/views/with_hover.erb +17 -0
- data/lib/capybara/spec/views/with_html.erb +21 -2
- data/lib/capybara/spec/views/with_js.erb +5 -0
- data/lib/capybara/spec/views/with_scope.erb +6 -1
- data/lib/capybara/spec/views/with_title.erb +1 -0
- data/lib/capybara/spec/views/within_frames.erb +1 -0
- data/lib/capybara/version.rb +1 -1
- data/spec/basic_node_spec.rb +75 -24
- data/spec/dsl_spec.rb +2 -1
- data/spec/rack_test_spec.rb +4 -3
- data/spec/rspec/matchers_spec.rb +105 -17
- data/spec/server_spec.rb +8 -8
- data/spec/spec_helper.rb +2 -1
- metadata +83 -23
- metadata.gz.sig +0 -0
data/lib/capybara/version.rb
CHANGED
data/spec/basic_node_spec.rb
CHANGED
@@ -4,26 +4,42 @@ describe Capybara do
|
|
4
4
|
describe '.string' do
|
5
5
|
let :string do
|
6
6
|
Capybara.string <<-STRING
|
7
|
-
<
|
8
|
-
<
|
9
|
-
<
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
<
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
7
|
+
<html>
|
8
|
+
<head>
|
9
|
+
<title>simple_node</title>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<div id="page">
|
13
|
+
<div id="content">
|
14
|
+
<h1 data="fantastic">Totally awesome</h1>
|
15
|
+
<p>Yes it is</p>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<form>
|
19
|
+
<input type="text" name="bleh" disabled="disabled"/>
|
20
|
+
<input type="text" name="meh"/>
|
21
|
+
</form>
|
22
|
+
|
23
|
+
<div id="footer">
|
24
|
+
<p>c2010</p>
|
25
|
+
<p>Jonas Nicklas</p>
|
26
|
+
<input type="text" name="foo" value="bar"/>
|
27
|
+
<select name="animal">
|
28
|
+
<option>Monkey</option>
|
29
|
+
<option selected="selected">Capybara</option>
|
30
|
+
</select>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div id="hidden" style="display: none">
|
34
|
+
<p id="secret">Secret</p>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<section>
|
38
|
+
<div class="subsection"></div>
|
39
|
+
</section>
|
40
|
+
</div>
|
41
|
+
</body>
|
42
|
+
</html>
|
27
43
|
STRING
|
28
44
|
end
|
29
45
|
|
@@ -56,8 +72,8 @@ describe Capybara do
|
|
56
72
|
end
|
57
73
|
|
58
74
|
it "allows finding only visible nodes" do
|
59
|
-
string.all(
|
60
|
-
string.all(
|
75
|
+
string.all(:css, '#secret', :visible => true).should be_empty
|
76
|
+
string.all(:css, '#secret', :visible => false).should have(1).element
|
61
77
|
end
|
62
78
|
|
63
79
|
it "allows finding elements and extracting text from them" do
|
@@ -77,13 +93,48 @@ describe Capybara do
|
|
77
93
|
end
|
78
94
|
|
79
95
|
it "allows finding elements and extracting the path" do
|
80
|
-
string.find('//input').value.should == 'bar'
|
96
|
+
string.find('//div/input').value.should == 'bar'
|
81
97
|
string.find('//select').value.should == 'Capybara'
|
82
98
|
end
|
83
99
|
|
84
100
|
it "allows finding elements and checking if they are visible" do
|
85
101
|
string.find('//h1').should be_visible
|
86
|
-
string.find(
|
102
|
+
string.find(:css, "#secret", :visible => false).should_not be_visible
|
103
|
+
end
|
104
|
+
|
105
|
+
it "allows finding elements and checking if they are disabled" do
|
106
|
+
string.find('//form/input[@name="bleh"]').should be_disabled
|
107
|
+
string.find('//form/input[@name="meh"]').should_not be_disabled
|
108
|
+
end
|
109
|
+
|
110
|
+
describe "#title" do
|
111
|
+
it "returns the page title" do
|
112
|
+
string.title.should == "simple_node"
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
describe "#has_title?" do
|
117
|
+
it "returns whether the page has the given title" do
|
118
|
+
string.has_title?('simple_node').should be_true
|
119
|
+
string.has_title?('monkey').should be_false
|
120
|
+
end
|
121
|
+
|
122
|
+
it "allows regexp matches" do
|
123
|
+
string.has_title?(/s[a-z]+_node/).should be_true
|
124
|
+
string.has_title?(/monkey/).should be_false
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
describe '#has_no_title?' do
|
129
|
+
it "returns whether the page does not have the given title" do
|
130
|
+
string.has_no_title?('simple_node').should be_false
|
131
|
+
string.has_no_title?('monkey').should be_true
|
132
|
+
end
|
133
|
+
|
134
|
+
it "allows regexp matches" do
|
135
|
+
string.has_no_title?(/s[a-z]+_node/).should be_false
|
136
|
+
string.has_no_title?(/monkey/).should be_true
|
137
|
+
end
|
87
138
|
end
|
88
139
|
end
|
89
140
|
end
|
data/spec/dsl_spec.rb
CHANGED
data/spec/rack_test_spec.rb
CHANGED
@@ -9,7 +9,8 @@ Capybara::SpecHelper.run_specs TestSessions::RackTest, "RackTest", :skip => [
|
|
9
9
|
:screenshot,
|
10
10
|
:frames,
|
11
11
|
:windows,
|
12
|
-
:server
|
12
|
+
:server,
|
13
|
+
:hover
|
13
14
|
]
|
14
15
|
|
15
16
|
describe Capybara::Session do
|
@@ -84,14 +85,14 @@ describe Capybara::RackTest::Driver do
|
|
84
85
|
it 'should keep headers on link clicks' do
|
85
86
|
@driver = Capybara::RackTest::Driver.new(TestApp, :headers => {'HTTP_FOO' => 'foobar'})
|
86
87
|
@driver.visit('/header_links')
|
87
|
-
@driver.
|
88
|
+
@driver.find_xpath('.//a').first.click
|
88
89
|
@driver.html.should include('foobar')
|
89
90
|
end
|
90
91
|
|
91
92
|
it 'should keep headers on form submit' do
|
92
93
|
@driver = Capybara::RackTest::Driver.new(TestApp, :headers => {'HTTP_FOO' => 'foobar'})
|
93
94
|
@driver.visit('/header_links')
|
94
|
-
@driver.
|
95
|
+
@driver.find_xpath('.//input').first.click
|
95
96
|
@driver.html.should include('foobar')
|
96
97
|
end
|
97
98
|
|
data/spec/rspec/matchers_spec.rb
CHANGED
@@ -29,9 +29,28 @@ describe Capybara::RSpecMatchers do
|
|
29
29
|
|
30
30
|
it "fails if matched node count does not equal expected count" do
|
31
31
|
expect do
|
32
|
-
"<h1>Text</h1>".should have_css('h1', :
|
33
|
-
end.to raise_error(
|
32
|
+
"<h1>Text</h1>".should have_css('h1', count: 2)
|
33
|
+
end.to raise_error("expected to find css \"h1\" 2 times, found 1 match: \"Text\"")
|
34
34
|
end
|
35
|
+
|
36
|
+
it "fails if matched node count is less than expected minimum count" do
|
37
|
+
expect do
|
38
|
+
"<h1>Text</h1>".should have_css('p', minimum: 1)
|
39
|
+
end.to raise_error("expected to find css \"p\" at least 1 time but there were no matches")
|
40
|
+
end
|
41
|
+
|
42
|
+
it "fails if matched node count is more than expected maximum count" do
|
43
|
+
expect do
|
44
|
+
"<h1>Text</h1><h1>Text</h1><h1>Text</h1>".should have_css('h1', maximum: 2)
|
45
|
+
end.to raise_error('expected to find css "h1" at most 2 times, found 3 matches: "Text", "Text", "Text"')
|
46
|
+
end
|
47
|
+
|
48
|
+
it "fails if matched node count does not belong to expected range" do
|
49
|
+
expect do
|
50
|
+
"<h1>Text</h1>".should have_css('h1', between: 2..3)
|
51
|
+
end.to raise_error("expected to find css \"h1\" between 2 and 3 times, found 1 match: \"Text\"")
|
52
|
+
end
|
53
|
+
|
35
54
|
end
|
36
55
|
|
37
56
|
context "with should_not" do
|
@@ -222,7 +241,7 @@ describe Capybara::RSpecMatchers do
|
|
222
241
|
|
223
242
|
describe "have_content matcher" do
|
224
243
|
it "gives proper description" do
|
225
|
-
have_content('Text').description.should == "
|
244
|
+
have_content('Text').description.should == "text \"Text\""
|
226
245
|
end
|
227
246
|
|
228
247
|
context "on a string" do
|
@@ -238,7 +257,7 @@ describe Capybara::RSpecMatchers do
|
|
238
257
|
it "fails if has_content? returns false" do
|
239
258
|
expect do
|
240
259
|
"<h1>Text</h1>".should have_content('No such Text')
|
241
|
-
end.to raise_error(/expected
|
260
|
+
end.to raise_error(/expected to find text "No such Text" in "Text"/)
|
242
261
|
end
|
243
262
|
end
|
244
263
|
|
@@ -254,7 +273,7 @@ describe Capybara::RSpecMatchers do
|
|
254
273
|
it "fails if has_no_content? returns false" do
|
255
274
|
expect do
|
256
275
|
"<h1>Text</h1>".should_not have_content('Text')
|
257
|
-
end.to raise_error(/expected
|
276
|
+
end.to raise_error(/expected not to find text "Text" in "Text"/)
|
258
277
|
end
|
259
278
|
end
|
260
279
|
end
|
@@ -276,7 +295,7 @@ describe Capybara::RSpecMatchers do
|
|
276
295
|
it "fails if has_content? returns false" do
|
277
296
|
expect do
|
278
297
|
page.should have_content('No such Text')
|
279
|
-
end.to raise_error(/expected
|
298
|
+
end.to raise_error(/expected to find text "No such Text" in "(.*)This is a test(.*)"/)
|
280
299
|
end
|
281
300
|
|
282
301
|
context "with default selector CSS" do
|
@@ -284,7 +303,7 @@ describe Capybara::RSpecMatchers do
|
|
284
303
|
it "fails if has_content? returns false" do
|
285
304
|
expect do
|
286
305
|
page.should have_content('No such Text')
|
287
|
-
end.to raise_error(/expected
|
306
|
+
end.to raise_error(/expected to find text "No such Text" in "(.*)This is a test(.*)"/)
|
288
307
|
end
|
289
308
|
after { Capybara.default_selector = :xpath }
|
290
309
|
end
|
@@ -298,7 +317,7 @@ describe Capybara::RSpecMatchers do
|
|
298
317
|
it "fails if has_no_content? returns false" do
|
299
318
|
expect do
|
300
319
|
page.should_not have_content('This is a test')
|
301
|
-
end.to raise_error(/expected
|
320
|
+
end.to raise_error(/expected not to find text "This is a test"/)
|
302
321
|
end
|
303
322
|
end
|
304
323
|
end
|
@@ -306,7 +325,7 @@ describe Capybara::RSpecMatchers do
|
|
306
325
|
|
307
326
|
describe "have_text matcher" do
|
308
327
|
it "gives proper description" do
|
309
|
-
have_text('Text').description.should == "
|
328
|
+
have_text('Text').description.should == "text \"Text\""
|
310
329
|
end
|
311
330
|
|
312
331
|
context "on a string" do
|
@@ -322,13 +341,37 @@ describe Capybara::RSpecMatchers do
|
|
322
341
|
it "fails if has_text? returns false" do
|
323
342
|
expect do
|
324
343
|
"<h1>Text</h1>".should have_text('No such Text')
|
325
|
-
end.to raise_error(/expected
|
344
|
+
end.to raise_error(/expected to find text "No such Text" in "Text"/)
|
345
|
+
end
|
346
|
+
|
347
|
+
it "casts Fixnum to string" do
|
348
|
+
expect do
|
349
|
+
"<h1>Text</h1>".should have_text(3)
|
350
|
+
end.to raise_error(/expected to find text "3" in "Text"/)
|
351
|
+
end
|
352
|
+
|
353
|
+
it "fails if matched text count does not equal to expected count" do
|
354
|
+
expect do
|
355
|
+
"<h1>Text</h1>".should have_text('Text', count: 2)
|
356
|
+
end.to raise_error(/expected to find text "Text" 2 times in "Text"/)
|
357
|
+
end
|
358
|
+
|
359
|
+
it "fails if matched text count is less than expected minimum count" do
|
360
|
+
expect do
|
361
|
+
"<h1>Text</h1>".should have_text('Lorem', minimum: 1)
|
362
|
+
end.to raise_error(/expected to find text "Lorem" at least 1 time in "Text"/)
|
363
|
+
end
|
364
|
+
|
365
|
+
it "fails if matched text count is more than expected maximum count" do
|
366
|
+
expect do
|
367
|
+
"<h1>Text TextText</h1>".should have_text('Text', maximum: 2)
|
368
|
+
end.to raise_error(/expected to find text "Text" at most 2 times in "Text TextText"/)
|
326
369
|
end
|
327
370
|
|
328
|
-
it "
|
371
|
+
it "fails if matched text count does not belong to expected range" do
|
329
372
|
expect do
|
330
|
-
"<h1>Text</h1>".should have_text(:
|
331
|
-
end.to raise_error(/expected
|
373
|
+
"<h1>Text</h1>".should have_text('Text', between: 2..3)
|
374
|
+
end.to raise_error(/expected to find text "Text" between 2 and 3 times in "Text"/)
|
332
375
|
end
|
333
376
|
end
|
334
377
|
|
@@ -344,7 +387,7 @@ describe Capybara::RSpecMatchers do
|
|
344
387
|
it "fails if has_no_text? returns false" do
|
345
388
|
expect do
|
346
389
|
"<h1>Text</h1>".should_not have_text('Text')
|
347
|
-
end.to raise_error(/expected
|
390
|
+
end.to raise_error(/expected not to find text "Text" in "Text"/)
|
348
391
|
end
|
349
392
|
end
|
350
393
|
end
|
@@ -363,10 +406,19 @@ describe Capybara::RSpecMatchers do
|
|
363
406
|
page.should have_text(/test/)
|
364
407
|
end
|
365
408
|
|
409
|
+
it "can check for all text" do
|
410
|
+
page.should have_text(:all, 'Some of this text is hidden!')
|
411
|
+
end
|
412
|
+
|
413
|
+
it "can check for visible text" do
|
414
|
+
page.should have_text(:visible, 'Some of this text is')
|
415
|
+
page.should_not have_text(:visible, 'Some of this text is hidden!')
|
416
|
+
end
|
417
|
+
|
366
418
|
it "fails if has_text? returns false" do
|
367
419
|
expect do
|
368
420
|
page.should have_text('No such Text')
|
369
|
-
end.to raise_error(/expected
|
421
|
+
end.to raise_error(/expected to find text "No such Text" in "(.*)This is a test(.*)"/)
|
370
422
|
end
|
371
423
|
|
372
424
|
context "with default selector CSS" do
|
@@ -374,7 +426,7 @@ describe Capybara::RSpecMatchers do
|
|
374
426
|
it "fails if has_text? returns false" do
|
375
427
|
expect do
|
376
428
|
page.should have_text('No such Text')
|
377
|
-
end.to raise_error(/expected
|
429
|
+
end.to raise_error(/expected to find text "No such Text" in "(.*)This is a test(.*)"/)
|
378
430
|
end
|
379
431
|
after { Capybara.default_selector = :xpath }
|
380
432
|
end
|
@@ -388,7 +440,7 @@ describe Capybara::RSpecMatchers do
|
|
388
440
|
it "fails if has_no_text? returns false" do
|
389
441
|
expect do
|
390
442
|
page.should_not have_text('This is a test')
|
391
|
-
end.to raise_error(/expected
|
443
|
+
end.to raise_error(/expected not to find text "This is a test"/)
|
392
444
|
end
|
393
445
|
end
|
394
446
|
end
|
@@ -412,6 +464,42 @@ describe Capybara::RSpecMatchers do
|
|
412
464
|
end
|
413
465
|
end
|
414
466
|
|
467
|
+
describe "have_title matcher" do
|
468
|
+
it "gives proper description" do
|
469
|
+
have_title('Just a title').description.should == "have title \"Just a title\""
|
470
|
+
end
|
471
|
+
|
472
|
+
context "on a string" do
|
473
|
+
let(:html) { '<title>Just a title</title>' }
|
474
|
+
|
475
|
+
it "passes if there is such a title" do
|
476
|
+
html.should have_title('Just a title')
|
477
|
+
end
|
478
|
+
|
479
|
+
it "fails if there is no such title" do
|
480
|
+
expect do
|
481
|
+
html.should have_title('No such title')
|
482
|
+
end.to raise_error(/expected there to be title "No such title"/)
|
483
|
+
end
|
484
|
+
end
|
485
|
+
|
486
|
+
context "on a page or node" do
|
487
|
+
before do
|
488
|
+
visit('/with_js')
|
489
|
+
end
|
490
|
+
|
491
|
+
it "passes if there is such a title" do
|
492
|
+
page.should have_title('with_js')
|
493
|
+
end
|
494
|
+
|
495
|
+
it "fails if there is no such title" do
|
496
|
+
expect do
|
497
|
+
page.should have_title('No such title')
|
498
|
+
end.to raise_error(/expected there to be title "No such title"/)
|
499
|
+
end
|
500
|
+
end
|
501
|
+
end
|
502
|
+
|
415
503
|
describe "have_button matcher" do
|
416
504
|
let(:html) { '<button>A button</button><input type="submit" value="Another button"/>' }
|
417
505
|
|
data/spec/server_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Capybara::Server do
|
4
4
|
|
5
5
|
it "should spool up a rack server" do
|
6
|
-
@app = proc { |env| [200, {}, "Hello Server!"]}
|
6
|
+
@app = proc { |env| [200, {}, ["Hello Server!"]]}
|
7
7
|
@server = Capybara::Server.new(@app).boot
|
8
8
|
|
9
9
|
@res = Net::HTTP.start(@server.host, @server.port) { |http| http.get('/') }
|
@@ -20,7 +20,7 @@ describe Capybara::Server do
|
|
20
20
|
it "should bind to the specified host" do
|
21
21
|
Capybara.server_host = '0.0.0.0'
|
22
22
|
|
23
|
-
app = proc { |env| [200, {}, "Hello Server!"]}
|
23
|
+
app = proc { |env| [200, {}, ["Hello Server!"]]}
|
24
24
|
server = Capybara::Server.new(app).boot
|
25
25
|
server.host.should == '0.0.0.0'
|
26
26
|
|
@@ -30,7 +30,7 @@ describe Capybara::Server do
|
|
30
30
|
it "should use specified port" do
|
31
31
|
Capybara.server_port = 22789
|
32
32
|
|
33
|
-
@app = proc { |env| [200, {}, "Hello Server!"]}
|
33
|
+
@app = proc { |env| [200, {}, ["Hello Server!"]]}
|
34
34
|
@server = Capybara::Server.new(@app).boot
|
35
35
|
|
36
36
|
@res = Net::HTTP.start(@server.host, 22789) { |http| http.get('/') }
|
@@ -40,7 +40,7 @@ describe Capybara::Server do
|
|
40
40
|
end
|
41
41
|
|
42
42
|
it "should use given port" do
|
43
|
-
@app = proc { |env| [200, {}, "Hello Server!"]}
|
43
|
+
@app = proc { |env| [200, {}, ["Hello Server!"]]}
|
44
44
|
@server = Capybara::Server.new(@app, 22790).boot
|
45
45
|
|
46
46
|
@res = Net::HTTP.start(@server.host, 22790) { |http| http.get('/') }
|
@@ -50,8 +50,8 @@ describe Capybara::Server do
|
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should find an available port" do
|
53
|
-
@app1 = proc { |env| [200, {}, "Hello Server!"]}
|
54
|
-
@app2 = proc { |env| [200, {}, "Hello Second Server!"]}
|
53
|
+
@app1 = proc { |env| [200, {}, ["Hello Server!"]]}
|
54
|
+
@app2 = proc { |env| [200, {}, ["Hello Second Server!"]]}
|
55
55
|
|
56
56
|
@server1 = Capybara::Server.new(@app1).boot
|
57
57
|
@server2 = Capybara::Server.new(@app2).boot
|
@@ -64,8 +64,8 @@ describe Capybara::Server do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
it "should use the server if it already running" do
|
67
|
-
@app1 = proc { |env| [200, {}, "Hello Server!"]}
|
68
|
-
@app2 = proc { |env| [200, {}, "Hello Second Server!"]}
|
67
|
+
@app1 = proc { |env| [200, {}, ["Hello Server!"]]}
|
68
|
+
@app2 = proc { |env| [200, {}, ["Hello Second Server!"]]}
|
69
69
|
|
70
70
|
@server1a = Capybara::Server.new(@app1).boot
|
71
71
|
@server1b = Capybara::Server.new(@app1).boot
|
data/spec/spec_helper.rb
CHANGED