seleniumrc 0.0.1 → 0.0.2

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.
Files changed (31) hide show
  1. data/CHANGES +4 -0
  2. data/README +38 -0
  3. data/Rakefile +1 -1
  4. data/lib/seleniumrc.rb +2 -4
  5. data/lib/seleniumrc/dsl/selenium_dsl.rb +8 -143
  6. data/lib/seleniumrc/extensions/testrunnermediator.rb +2 -2
  7. data/lib/seleniumrc/mongrel_selenium_server_runner.rb +9 -7
  8. data/lib/seleniumrc/selenium_configuration.rb +233 -40
  9. data/lib/seleniumrc/selenium_driver.rb +193 -0
  10. data/lib/seleniumrc/selenium_element.rb +31 -37
  11. data/lib/seleniumrc/selenium_page.rb +16 -16
  12. data/lib/seleniumrc/selenium_server_runner.rb +1 -1
  13. data/lib/seleniumrc/selenium_test_case.rb +2 -4
  14. data/lib/seleniumrc/wait_for.rb +3 -10
  15. data/lib/seleniumrc/webrick_selenium_server_runner.rb +11 -11
  16. data/spec/seleniumrc/mongrel_selenium_server_runner_spec.rb +31 -38
  17. data/spec/seleniumrc/selenese_interpreter_spec.rb +12 -12
  18. data/spec/seleniumrc/selenium_configuration_spec.rb +350 -12
  19. data/spec/seleniumrc/selenium_driver_spec.rb +104 -0
  20. data/spec/seleniumrc/selenium_element_spec.rb +78 -76
  21. data/spec/seleniumrc/selenium_page_spec.rb +39 -29
  22. data/spec/seleniumrc/selenium_test_case_spec.rb +631 -673
  23. data/spec/seleniumrc/selenium_test_case_spec_helper.rb +0 -7
  24. data/spec/seleniumrc/webrick_selenium_server_runner_spec.rb +14 -13
  25. data/spec/spec_helper.rb +7 -1
  26. metadata +4 -7
  27. data/lib/seleniumrc/app_server_checker.rb +0 -43
  28. data/lib/seleniumrc/extensions/selenium_driver.rb +0 -33
  29. data/lib/seleniumrc/selenium_context.rb +0 -226
  30. data/spec/seleniumrc/app_server_checker_spec.rb +0 -56
  31. data/spec/seleniumrc/selenium_context_spec.rb +0 -362
@@ -0,0 +1,104 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ module Seleniumrc
4
+ describe SeleniumDriver, :shared => true do
5
+ it_should_behave_like "Selenium"
6
+ attr_reader :driver, :commands
7
+ before do
8
+ @driver = ::Seleniumrc::SeleniumDriver.new("localhost", 4444, "*iexplore", "localhost:3000")
9
+ end
10
+
11
+ def sample_locator
12
+ "sample_locator"
13
+ end
14
+
15
+ def sample_text
16
+ "test text"
17
+ end
18
+ end
19
+
20
+ describe SeleniumDriver, "#initialize" do
21
+ it_should_behave_like "Seleniumrc::SeleniumDriver"
22
+
23
+ it "initializes with defaults" do
24
+ driver.server_host.should == "localhost"
25
+ driver.server_port.should == 4444
26
+ driver.browser_start_command.should == "*iexplore"
27
+ driver.browser_url.should == "localhost:3000"
28
+ driver.timeout_in_milliseconds.should == 30000
29
+ end
30
+
31
+ it "should start" do
32
+ mock(driver).do_command.
33
+ with("getNewBrowserSession", ["*iexplore", "localhost:3000"]).returns(" 12345")
34
+
35
+ driver.start
36
+ driver.instance_variable_get(:@session_id).should == "12345"
37
+ end
38
+ end
39
+
40
+ describe SeleniumDriver, "#inner_html_js" do
41
+ it_should_behave_like "Seleniumrc::SeleniumDriver"
42
+
43
+ it "returns findElement command in js" do
44
+ driver.inner_html_js(sample_locator).should ==
45
+ %Q|this.page().findElement("#{sample_locator}").innerHTML|
46
+ end
47
+ end
48
+
49
+ describe SeleniumDriver, "#wait_for_element_to_contain" do
50
+ it_should_behave_like "Seleniumrc::SeleniumDriver"
51
+
52
+ it "when finding text within time limit, passes" do
53
+ is_element_present_results = [false, true]
54
+ mock(driver).do_command('isElementPresent', [sample_locator]).times(2) do
55
+ result(is_element_present_results.shift)
56
+ end
57
+ mock(driver).do_command('getEval', [driver.inner_html_js(sample_locator)]) do
58
+ result(sample_text)
59
+ end
60
+
61
+ driver.wait_for_element_to_contain(sample_locator, sample_text)
62
+ end
63
+
64
+ it "when element not found in time, fails" do
65
+ mock(driver).do_command('isElementPresent', [sample_locator]).times(4) do
66
+ result(false)
67
+ end
68
+
69
+ proc do
70
+ driver.wait_for_element_to_contain(sample_locator, "")
71
+ end.should raise_error(Test::Unit::AssertionFailedError, "Timeout exceeded (after 5 sec)")
72
+ end
73
+
74
+ it "when text does not match in time, fails" do
75
+ is_element_present_results = [false, true, true, true]
76
+ stub(driver).do_command('isElementPresent', [sample_locator]) do
77
+ result(is_element_present_results.shift)
78
+ end
79
+ stub(driver).do_command('getEval', [driver.inner_html_js(sample_locator)]) do
80
+ result(sample_text)
81
+ end
82
+
83
+ proc do
84
+ driver.wait_for_element_to_contain(sample_locator, "wrong text", nil, 1)
85
+ end.should raise_error(Test::Unit::AssertionFailedError, "Timeout exceeded (after 1 sec)")
86
+ end
87
+ end
88
+
89
+ describe SeleniumDriver, "#open and #open_and_wait" do
90
+ it_should_behave_like "Seleniumrc::SeleniumDriver"
91
+
92
+ it "opens page and waits for it to load" do
93
+ mock(driver).do_command("open", ["http://localhost:4000"])
94
+ mock(driver).do_command("waitForPageToLoad", [driver.default_timeout]) {result}
95
+ mock(driver).do_command("getTitle", []) {result("Some Title")}
96
+
97
+ driver.open("http://localhost:4000")
98
+ end
99
+
100
+ it "aliases #open_and_wait to #open" do
101
+ driver.method(:open_and_wait).should == driver.method(:open)
102
+ end
103
+ end
104
+ end
@@ -2,12 +2,14 @@ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
2
 
3
3
  module Seleniumrc
4
4
  describe SeleniumElement, :shared => true do
5
+ it_should_behave_like "Selenium"
5
6
  include SeleniumTestCaseSpec
6
-
7
+ attr_reader :driver
8
+
7
9
  before do
8
- @selenium = "Selenium"
10
+ @driver = ::Seleniumrc::SeleniumDriver.new('http://test.host', 4000, "*firefox", 'http://test.host')
9
11
  @element_locator ||= "id=foobar"
10
- @element = SeleniumElement.new(@selenium, @element_locator)
12
+ @element = SeleniumElement.new(driver, @element_locator)
11
13
  end
12
14
  end
13
15
 
@@ -19,7 +21,7 @@ describe SeleniumElement, "#initialize" do
19
21
  end
20
22
 
21
23
  it "sets the selenium object" do
22
- @element.selenium.should == @selenium
24
+ @element.driver.should == driver
23
25
  end
24
26
  end
25
27
 
@@ -28,14 +30,14 @@ describe SeleniumElement, "#is_present" do
28
30
 
29
31
  it "passes when element is present" do
30
32
  ticks = [false, false, false, true]
31
- mock(@selenium).is_element_present(@element_locator) do
32
- ticks.shift
33
- end.times(4)
33
+ mock(driver).do_command("isElementPresent", [@element_locator]).times(4) do
34
+ result ticks.shift
35
+ end
34
36
  @element.is_present
35
37
  end
36
38
 
37
39
  it "fails when element is not present" do
38
- stub(@selenium).is_element_present(@element_locator) {false}
40
+ stub(driver).is_element_present(@element_locator) {false}
39
41
  proc do
40
42
  @element.is_present
41
43
  end.should raise_error("Expected element 'id=foobar' to be present, but it was not (after 5 sec)")
@@ -46,12 +48,12 @@ describe SeleniumElement, "#is_present?" do
46
48
  it_should_behave_like "Seleniumrc::SeleniumElement"
47
49
 
48
50
  it "returns true when element is present" do
49
- mock(@selenium).is_element_present(@element_locator) {true}
51
+ mock(driver).is_element_present(@element_locator) {true}
50
52
  @element.is_present?.should be_true
51
53
  end
52
54
 
53
55
  it "returns false when element is not present" do
54
- mock(@selenium).is_element_present(@element_locator) {false}
56
+ mock(driver).is_element_present(@element_locator) {false}
55
57
  @element.is_present?.should be_false
56
58
  end
57
59
  end
@@ -61,14 +63,14 @@ describe SeleniumElement, "#is_not_present" do
61
63
 
62
64
  it "passes when element is not present" do
63
65
  ticks = [true, true, true, false]
64
- mock(@selenium).is_element_present(@element_locator) do
66
+ mock(driver).is_element_present(@element_locator) do
65
67
  ticks.shift
66
68
  end.times(4)
67
69
  @element.is_not_present
68
70
  end
69
71
 
70
72
  it "fails when element is present" do
71
- stub(@selenium).is_element_present(@element_locator) {true}
73
+ stub(driver).is_element_present(@element_locator) {true}
72
74
  proc do
73
75
  @element.is_not_present
74
76
  end.should raise_error("Expected element 'id=foobar' to be absent, but it was not (after 5 sec)")
@@ -79,12 +81,12 @@ describe SeleniumElement, "#is_not_present?" do
79
81
  it_should_behave_like "Seleniumrc::SeleniumElement"
80
82
 
81
83
  it "returns true when element is not present" do
82
- mock(@selenium).is_element_present(@element_locator) {false}
84
+ mock(driver).is_element_present(@element_locator) {false}
83
85
  @element.is_not_present?.should be_true
84
86
  end
85
87
 
86
88
  it "returns false when element is present" do
87
- mock(@selenium).is_element_present(@element_locator) {true}
89
+ mock(driver).is_element_present(@element_locator) {true}
88
90
  @element.is_not_present?.should be_false
89
91
  end
90
92
  end
@@ -94,26 +96,26 @@ describe SeleniumElement, "#has_value" do
94
96
 
95
97
  it "passes when element is present and value is expected value" do
96
98
  element_ticks = [false, false, false, true]
97
- mock(@selenium).is_element_present(@element_locator) do
99
+ mock(driver).is_element_present(@element_locator) do
98
100
  element_ticks.shift
99
101
  end.times(4)
100
102
  value_ticks = [nil, nil, nil, "joe"]
101
- mock(@selenium).get_value(@element_locator) do
103
+ mock(driver).get_value(@element_locator) do
102
104
  value_ticks.shift
103
105
  end.times(4)
104
106
  @element.has_value("joe")
105
107
  end
106
108
 
107
109
  it "fails when element is present and not expected value" do
108
- mock(@selenium).is_element_present(@element_locator) {true}
109
- stub(@selenium).get_value(@element_locator) {"jane"}
110
+ mock(driver).is_element_present(@element_locator) {true}
111
+ stub(driver).get_value(@element_locator) {"jane"}
110
112
  proc do
111
113
  @element.has_value("joe")
112
114
  end.should raise_error
113
115
  end
114
116
 
115
117
  it "fails when element is not present" do
116
- stub(@selenium).is_element_present(@element_locator) {false}
118
+ stub(driver).is_element_present(@element_locator) {false}
117
119
  proc do
118
120
  @element.has_value("joe")
119
121
  end.should raise_error
@@ -124,12 +126,12 @@ describe SeleniumElement, "#has_value?" do
124
126
  it_should_behave_like "Seleniumrc::SeleniumElement"
125
127
 
126
128
  it "returns true when value is expected value" do
127
- mock(@selenium).get_value(@element_locator) {"joe"}
129
+ mock(driver).get_value(@element_locator) {"joe"}
128
130
  @element.has_value?("joe").should be_true
129
131
  end
130
132
 
131
133
  it "returns false when value is not expected value" do
132
- stub(@selenium).get_value(@element_locator) {"jane"}
134
+ stub(driver).get_value(@element_locator) {"jane"}
133
135
  @element.has_value?("joe").should be_false
134
136
  end
135
137
  end
@@ -143,26 +145,26 @@ describe SeleniumElement, "#has_attribute" do
143
145
 
144
146
  it "passes when element is present and value is expected value" do
145
147
  element_ticks = [false, false, false, true]
146
- mock(@selenium).is_element_present(@element_locator) do
148
+ mock(driver).is_element_present(@element_locator) do
147
149
  element_ticks.shift
148
150
  end.times(4)
149
151
  label_ticks = ["jane", "jane", "jane", "joe"]
150
- mock(@selenium).get_attribute(@element_locator) do
152
+ mock(driver).get_attribute(@element_locator) do
151
153
  label_ticks.shift
152
154
  end.times(4)
153
155
  @element.has_attribute("joe")
154
156
  end
155
157
 
156
158
  it "fails when element is present and value is not expected" do
157
- stub(@selenium).is_element_present(@element_locator) {true}
158
- stub(@selenium).get_attribute(@element_locator) {"jane"}
159
+ stub(driver).is_element_present(@element_locator) {true}
160
+ stub(driver).get_attribute(@element_locator) {"jane"}
159
161
  proc do
160
162
  @element.has_attribute("joe")
161
163
  end.should raise_error
162
164
  end
163
165
 
164
166
  it "fails when element is not present" do
165
- stub(@selenium).is_element_present(@element_locator) {false}
167
+ stub(driver).is_element_present(@element_locator) {false}
166
168
  proc do
167
169
  @element.has_attribute("joe")
168
170
  end.should raise_error
@@ -178,26 +180,26 @@ describe SeleniumElement, "#has_selected" do
178
180
 
179
181
  it "passes when element is present and value is expected value" do
180
182
  element_ticks = [false, false, false, true]
181
- mock(@selenium).is_element_present(@element_locator) do
183
+ mock(driver).is_element_present(@element_locator) do
182
184
  element_ticks.shift
183
185
  end.times(4)
184
186
  label_ticks = ["jane", "jane", "jane", "joe"]
185
- mock(@selenium).get_selected_label(@element_locator) do
187
+ mock(driver).get_selected_label(@element_locator) do
186
188
  label_ticks.shift
187
189
  end.times(4)
188
190
  @element.has_selected("joe")
189
191
  end
190
192
 
191
193
  it "fails when element is present and value is not expected" do
192
- stub(@selenium).is_element_present(@element_locator) {true}
193
- stub(@selenium).get_selected_label(@element_locator) {"jane"}
194
+ stub(driver).is_element_present(@element_locator) {true}
195
+ stub(driver).get_selected_label(@element_locator) {"jane"}
194
196
  proc do
195
197
  @element.has_selected("joe")
196
198
  end.should raise_error
197
199
  end
198
200
 
199
201
  it "fails when element is not present" do
200
- stub(@selenium).is_element_present(@element_locator) {false}
202
+ stub(driver).is_element_present(@element_locator) {false}
201
203
  proc do
202
204
  @element.has_selected("joe")
203
205
  end.should raise_error
@@ -213,26 +215,26 @@ describe SeleniumElement, "#is_visible" do
213
215
 
214
216
  it "passes when element exists and is visible" do
215
217
  element_ticks = [false, false, false, true]
216
- mock(@selenium).is_element_present(@element_locator) do
218
+ mock(driver).is_element_present(@element_locator) do
217
219
  element_ticks.shift
218
220
  end.times(4)
219
221
  visible_ticks = [false, false, false, true]
220
- mock(@selenium).is_visible(@element_locator) do
222
+ mock(driver).is_visible(@element_locator) do
221
223
  visible_ticks.shift
222
224
  end.times(4)
223
225
  @element.is_visible
224
226
  end
225
227
 
226
228
  it "fails when element is present and is not visible" do
227
- stub(@selenium).is_element_present(@element_locator) {true}
228
- stub(@selenium).is_visible(@element_locator) {false}
229
+ stub(driver).is_element_present(@element_locator) {true}
230
+ stub(driver).is_visible(@element_locator) {false}
229
231
  proc do
230
232
  @element.is_visible
231
233
  end.should raise_error
232
234
  end
233
235
 
234
236
  it "fails when element is not present" do
235
- stub(@selenium).is_element_present(@element_locator) {false}
237
+ stub(driver).is_element_present(@element_locator) {false}
236
238
  proc do
237
239
  @element.is_visible
238
240
  end.should raise_error
@@ -248,26 +250,26 @@ describe SeleniumElement, "#is_not_visible" do
248
250
 
249
251
  it "passes when element exists and is not visible" do
250
252
  element_ticks = [false, false, false, true]
251
- mock(@selenium).is_element_present(@element_locator) do
253
+ mock(driver).is_element_present(@element_locator) do
252
254
  element_ticks.shift
253
255
  end.times(4)
254
256
  visible_ticks = [true, true, true, false]
255
- mock(@selenium).is_visible(@element_locator) do
257
+ mock(driver).is_visible(@element_locator) do
256
258
  visible_ticks.shift
257
259
  end.times(4)
258
260
  @element.is_not_visible
259
261
  end
260
262
 
261
263
  it "fails when element is present and is visible" do
262
- stub(@selenium).is_element_present(@element_locator) {true}
263
- stub(@selenium).is__visible(@element_locator) {true}
264
+ stub(driver).is_element_present(@element_locator) {true}
265
+ stub(driver).is__visible(@element_locator) {true}
264
266
  proc do
265
267
  @element.is_not_visible
266
268
  end.should raise_error
267
269
  end
268
270
 
269
271
  it "fails when element is not present" do
270
- stub(@selenium).is_element_present(@element_locator) {false}
272
+ stub(driver).is_element_present(@element_locator) {false}
271
273
  proc do
272
274
  @element.is_visible
273
275
  end.should raise_error
@@ -283,26 +285,26 @@ describe SeleniumElement, "#is_checked" do
283
285
 
284
286
  it "passes when element is present and value is expected value" do
285
287
  element_ticks = [false, false, false, true]
286
- mock(@selenium).is_element_present(@element_locator) do
288
+ mock(driver).is_element_present(@element_locator) do
287
289
  element_ticks.shift
288
290
  end.times(4)
289
291
  checked_ticks = [false, false, false, true]
290
- mock(@selenium).is_checked(@element_locator) do
292
+ mock(driver).is_checked(@element_locator) do
291
293
  checked_ticks.shift
292
294
  end.times(4)
293
295
  @element.is_checked
294
296
  end
295
297
 
296
298
  it "fails when element is present and value is not expected" do
297
- stub(@selenium).is_element_present(@element_locator) {true}
298
- stub(@selenium).is_checked(@element_locator) {false}
299
+ stub(driver).is_element_present(@element_locator) {true}
300
+ stub(driver).is_checked(@element_locator) {false}
299
301
  proc do
300
302
  @element.is_checked
301
303
  end.should raise_error
302
304
  end
303
305
 
304
306
  it "fails when element is not present" do
305
- stub(@selenium).is_element_present(@element_locator) {false}
307
+ stub(driver).is_element_present(@element_locator) {false}
306
308
  proc do
307
309
  @element.is_checked
308
310
  end.should raise_error
@@ -318,26 +320,26 @@ describe SeleniumElement, "#is_not_checked" do
318
320
 
319
321
  it "passes when element is present and value is expected value" do
320
322
  element_ticks = [false, false, false, true]
321
- mock(@selenium).is_element_present(@element_locator) do
323
+ mock(driver).is_element_present(@element_locator) do
322
324
  element_ticks.shift
323
325
  end.times(4)
324
326
  checked_ticks = [true, true, true, false]
325
- mock(@selenium).is_checked(@element_locator) do
327
+ mock(driver).is_checked(@element_locator) do
326
328
  checked_ticks.shift
327
329
  end.times(4)
328
330
  @element.is_not_checked
329
331
  end
330
332
 
331
333
  it "fails when element is present and value is not expected" do
332
- stub(@selenium).is_element_present(@element_locator) {true}
333
- stub(@selenium).is_checked(@element_locator) {true}
334
+ stub(driver).is_element_present(@element_locator) {true}
335
+ stub(driver).is_checked(@element_locator) {true}
334
336
  proc do
335
337
  @element.is_not_checked
336
338
  end.should raise_error
337
339
  end
338
340
 
339
341
  it "fails when element is not present" do
340
- stub(@selenium).is_element_present(@element_locator) {false}
342
+ stub(driver).is_element_present(@element_locator) {false}
341
343
  proc do
342
344
  @element.is_not_checked
343
345
  end.should raise_error
@@ -353,26 +355,26 @@ describe SeleniumElement, "#has_text" do
353
355
 
354
356
  it "passes when element is present and value is expected value" do
355
357
  element_ticks = [false, false, false, true]
356
- mock(@selenium).is_element_present(@element_locator) do
358
+ mock(driver).is_element_present(@element_locator) do
357
359
  element_ticks.shift
358
360
  end.times(4)
359
361
  checked_ticks = ["no match", "no match", "no match", "match"]
360
- mock(@selenium).get_text(@element_locator) do
362
+ mock(driver).get_text(@element_locator) do
361
363
  checked_ticks.shift
362
364
  end.times(4)
363
365
  @element.has_text("match")
364
366
  end
365
367
 
366
368
  it "fails when element is present and value is not expected" do
367
- stub(@selenium).is_element_present(@element_locator) {true}
368
- stub(@selenium).get_text(@element_locator) {"no match"}
369
+ stub(driver).is_element_present(@element_locator) {true}
370
+ stub(driver).get_text(@element_locator) {"no match"}
369
371
  proc do
370
372
  @element.has_text "match"
371
373
  end.should raise_error
372
374
  end
373
375
 
374
376
  it "fails when element is not present" do
375
- stub(@selenium).is_element_present(@element_locator) {false}
377
+ stub(driver).is_element_present(@element_locator) {false}
376
378
  proc do
377
379
  @element.has_text "match"
378
380
  end.should raise_error
@@ -389,26 +391,26 @@ describe SeleniumElement, "#contains_text" do
389
391
 
390
392
  it "passes when element is present and the element contains text" do
391
393
  element_ticks = [false, false, false, true]
392
- mock(@selenium).is_element_present(@element_locator) do
394
+ mock(driver).is_element_present(@element_locator) do
393
395
  element_ticks.shift
394
396
  end.times(4)
395
397
  inner_html_ticks = ["html", "html", "html", "html match html"]
396
- mock(@selenium).get_eval(@evaled_js) do
398
+ mock(driver).get_eval(@evaled_js) do
397
399
  inner_html_ticks.shift
398
400
  end.times(4)
399
401
  @element.contains_text("match")
400
402
  end
401
403
 
402
404
  it "fails when element is present and the element does not contain text" do
403
- stub(@selenium).is_element_present(@element_locator) {true}
404
- stub(@selenium).get_eval(@evaled_js) {"html"}
405
+ stub(driver).is_element_present(@element_locator) {true}
406
+ stub(driver).get_eval(@evaled_js) {"html"}
405
407
  proc do
406
408
  @element.contains_text "match"
407
409
  end.should raise_error
408
410
  end
409
411
 
410
412
  it "fails when element is not present" do
411
- stub(@selenium).is_element_present(@element_locator) {false}
413
+ stub(driver).is_element_present(@element_locator) {false}
412
414
  proc do
413
415
  @element.contains_text "match"
414
416
  end.should raise_error
@@ -425,26 +427,26 @@ describe SeleniumElement, "#does_not_contain_text" do
425
427
 
426
428
  it "passes when element is present and the element does not contain text" do
427
429
  element_ticks = [false, false, false, true]
428
- mock(@selenium).is_element_present(@element_locator) do
430
+ mock(driver).is_element_present(@element_locator) do
429
431
  element_ticks.shift
430
432
  end.times(4)
431
433
  inner_html_ticks = ["html match html", "html match html", "html match html", "html"]
432
- mock(@selenium).get_eval(@evaled_js) do
434
+ mock(driver).get_eval(@evaled_js) do
433
435
  inner_html_ticks.shift
434
436
  end.times(4)
435
437
  @element.does_not_contain_text("match")
436
438
  end
437
439
 
438
440
  it "fails when element is present and the element contains text" do
439
- stub(@selenium).is_element_present(@element_locator) {true}
440
- stub(@selenium).get_eval(@evaled_js) {"html match html"}
441
+ stub(driver).is_element_present(@element_locator) {true}
442
+ stub(driver).get_eval(@evaled_js) {"html match html"}
441
443
  proc do
442
444
  @element.does_not_contain_text "match"
443
445
  end.should raise_error
444
446
  end
445
447
 
446
448
  it "fails when element is not present" do
447
- stub(@selenium).is_element_present(@element_locator) {false}
449
+ stub(driver).is_element_present(@element_locator) {false}
448
450
  proc do
449
451
  @element.does_not_contain_text "match"
450
452
  end.should raise_error
@@ -461,26 +463,26 @@ describe SeleniumElement, "#has_next_sibling" do
461
463
 
462
464
  it "passes when element is present and value is expected value" do
463
465
  element_ticks = [false, false, false, true]
464
- mock(@selenium).is_element_present(@element_locator) do
466
+ mock(driver).is_element_present(@element_locator) do
465
467
  element_ticks.shift
466
468
  end.times(4)
467
469
  inner_html_ticks = ["", "", "", "next_element"]
468
- mock(@selenium).get_eval(@evaled_js) do
470
+ mock(driver).get_eval(@evaled_js) do
469
471
  inner_html_ticks.shift
470
472
  end.times(4)
471
473
  @element.has_next_sibling("next_element")
472
474
  end
473
475
 
474
476
  it "fails when element is present and value is not expected" do
475
- stub(@selenium).is_element_present(@element_locator) {true}
476
- stub(@selenium).get_eval(@evaled_js) {""}
477
+ stub(driver).is_element_present(@element_locator) {true}
478
+ stub(driver).get_eval(@evaled_js) {""}
477
479
  proc do
478
480
  @element.has_next_sibling "next_element"
479
481
  end.should raise_error
480
482
  end
481
483
 
482
484
  it "fails when element is not present" do
483
- stub(@selenium).is_element_present(@element_locator) {false}
485
+ stub(driver).is_element_present(@element_locator) {false}
484
486
  proc do
485
487
  @element.has_next_sibling "match"
486
488
  end.should raise_error
@@ -497,7 +499,7 @@ describe SeleniumElement, "#has_text_in_order" do
497
499
 
498
500
  it "passes when element is present and value is expected value" do
499
501
  element_ticks = [false, false, false, true]
500
- mock(@selenium).is_element_present(@element_locator) do
502
+ mock(driver).is_element_present(@element_locator) do
501
503
  element_ticks.shift
502
504
  end.times(4)
503
505
  get_text_ticks = [
@@ -506,22 +508,22 @@ describe SeleniumElement, "#has_text_in_order" do
506
508
  "no match",
507
509
  "one\ntwo\nthree",
508
510
  ]
509
- mock(@selenium).get_text(@element_locator) do
511
+ mock(driver).get_text(@element_locator) do
510
512
  get_text_ticks.shift
511
513
  end.times(4)
512
514
  @element.has_text_in_order('one', 'two', 'three')
513
515
  end
514
516
 
515
517
  it "fails when element is present and value is not expected" do
516
- stub(@selenium).is_element_present(@element_locator) {true}
517
- stub(@selenium).get_text(@element_locator) {"no match"}
518
+ stub(driver).is_element_present(@element_locator) {true}
519
+ stub(driver).get_text(@element_locator) {"no match"}
518
520
  proc do
519
521
  @element.has_text_in_order 'one', 'two', 'three'
520
522
  end.should raise_error
521
523
  end
522
524
 
523
525
  it "fails when element is not present" do
524
- stub(@selenium).is_element_present(@element_locator) {false}
526
+ stub(driver).is_element_present(@element_locator) {false}
525
527
  proc do
526
528
  @element.has_text_in_order 'one', 'two', 'three'
527
529
  end.should raise_error