page-object 1.0.2 → 1.0.3

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +1 -0
  4. data/ChangeLog +10 -0
  5. data/README.md +1 -1
  6. data/features/bold.feature +21 -0
  7. data/features/html/indexed_property.html +14 -0
  8. data/features/html/multi_elements.html +1 -1
  9. data/features/html/static_elements.html +1 -2
  10. data/features/indexed_property.feature +15 -0
  11. data/features/multi_elements.feature +6 -0
  12. data/features/step_definitions/async_steps.rb +1 -1
  13. data/features/step_definitions/bold_steps.rb +12 -0
  14. data/features/step_definitions/check_box_steps.rb +2 -2
  15. data/features/step_definitions/indexed_property_steps.rb +47 -1
  16. data/features/step_definitions/label_steps.rb +1 -1
  17. data/features/step_definitions/multi_elements_steps.rb +13 -0
  18. data/features/step_definitions/select_list_steps.rb +1 -1
  19. data/features/step_definitions/table_steps.rb +4 -0
  20. data/features/support/page.rb +9 -0
  21. data/features/table.feature +12 -4
  22. data/lib/page-object.rb +6 -5
  23. data/lib/page-object/accessors.rb +78 -58
  24. data/lib/page-object/elements.rb +1 -0
  25. data/lib/page-object/elements/bold.rb +11 -0
  26. data/lib/page-object/elements/element.rb +12 -1
  27. data/lib/page-object/elements/table.rb +12 -1
  28. data/lib/page-object/indexed_properties.rb +20 -21
  29. data/lib/page-object/javascript/angularjs.rb +14 -0
  30. data/lib/page-object/javascript_framework_facade.rb +4 -2
  31. data/lib/page-object/locator_generator.rb +1 -0
  32. data/lib/page-object/page_populator.rb +0 -1
  33. data/lib/page-object/platforms/selenium_webdriver/button.rb +1 -1
  34. data/lib/page-object/platforms/selenium_webdriver/element.rb +1 -1
  35. data/lib/page-object/platforms/selenium_webdriver/page_object.rb +26 -10
  36. data/lib/page-object/platforms/selenium_webdriver/radio_button.rb +0 -7
  37. data/lib/page-object/platforms/watir_webdriver/element.rb +1 -1
  38. data/lib/page-object/platforms/watir_webdriver/page_object.rb +23 -8
  39. data/lib/page-object/platforms/watir_webdriver/radio_button.rb +0 -7
  40. data/lib/page-object/version.rb +1 -1
  41. data/lib/page-object/widgets.rb +7 -0
  42. data/page-object.gemspec +3 -3
  43. data/spec/page-object/accessors_spec.rb +40 -0
  44. data/spec/page-object/element_locators_spec.rb +340 -305
  45. data/spec/page-object/elements/area_spec.rb +8 -8
  46. data/spec/page-object/elements/bold_spec.rb +29 -0
  47. data/spec/page-object/elements/button_spec.rb +7 -7
  48. data/spec/page-object/elements/canvas_spec.rb +6 -6
  49. data/spec/page-object/elements/check_box_spec.rb +9 -9
  50. data/spec/page-object/elements/div_spec.rb +3 -3
  51. data/spec/page-object/elements/element_spec.rb +21 -21
  52. data/spec/page-object/elements/file_field_spec.rb +4 -4
  53. data/spec/page-object/elements/form_spec.rb +3 -3
  54. data/spec/page-object/elements/heading_spec.rb +8 -8
  55. data/spec/page-object/elements/hidden_field_spec.rb +3 -3
  56. data/spec/page-object/elements/image_spec.rb +14 -14
  57. data/spec/page-object/elements/label_spec.rb +3 -3
  58. data/spec/page-object/elements/link_spec.rb +6 -6
  59. data/spec/page-object/elements/list_item_spec.rb +4 -3
  60. data/spec/page-object/elements/nested_element_spec.rb +47 -47
  61. data/spec/page-object/elements/option_spec.rb +1 -1
  62. data/spec/page-object/elements/ordered_list_spec.rb +33 -33
  63. data/spec/page-object/elements/paragraph_spec.rb +3 -4
  64. data/spec/page-object/elements/select_list_spec.rb +52 -52
  65. data/spec/page-object/elements/selenium/radio_button_spec.rb +7 -13
  66. data/spec/page-object/elements/selenium/text_field_spec.rb +7 -7
  67. data/spec/page-object/elements/selenium_element_spec.rb +53 -53
  68. data/spec/page-object/elements/span_spec.rb +3 -3
  69. data/spec/page-object/elements/table_cell_spec.rb +3 -3
  70. data/spec/page-object/elements/table_row_spec.rb +22 -22
  71. data/spec/page-object/elements/table_spec.rb +28 -28
  72. data/spec/page-object/elements/text_area_spec.rb +5 -5
  73. data/spec/page-object/elements/unordered_list_spec.rb +33 -34
  74. data/spec/page-object/elements/watir_element_spec.rb +47 -48
  75. data/spec/page-object/javascript_framework_facade_spec.rb +6 -6
  76. data/spec/page-object/loads_platform_spec.rb +4 -4
  77. data/spec/page-object/page-object_spec.rb +103 -102
  78. data/spec/page-object/page_factory_spec.rb +43 -61
  79. data/spec/page-object/page_populator_spec.rb +44 -50
  80. data/spec/page-object/platforms/selenium_webdriver/selenium_page_object_spec.rb +15 -15
  81. data/spec/page-object/platforms/selenium_webdriver_spec.rb +6 -6
  82. data/spec/page-object/platforms/watir_webdriver/watir_page_object_spec.rb +4 -4
  83. data/spec/page-object/platforms/watir_webdriver_spec.rb +1 -1
  84. data/spec/page-object/selenium_accessors_spec.rb +166 -153
  85. data/spec/page-object/watir_accessors_spec.rb +265 -245
  86. data/spec/page-object/widget_spec.rb +62 -30
  87. data/spec/spec_helper.rb +8 -8
  88. metadata +20 -10
@@ -35,6 +35,7 @@ class WatirAccessorsTestPageObject
35
35
  canvas(:my_canvas, :id => 'canvas_id')
36
36
  audio(:acdc, :id => 'audio_id')
37
37
  video(:movie, :id => 'video_id')
38
+ b(:bold,:id=>'bold')
38
39
  end
39
40
 
40
41
  class WatirBlockPageObject
@@ -129,6 +130,9 @@ class WatirBlockPageObject
129
130
  video :movie do |element|
130
131
  "video"
131
132
  end
133
+ b :bold do |element|
134
+ "b"
135
+ end
132
136
  end
133
137
 
134
138
  describe PageObject::Accessors do
@@ -139,7 +143,7 @@ describe PageObject::Accessors do
139
143
  context "goto a page" do
140
144
 
141
145
  it "should navigate to a page when requested" do
142
- watir_browser.should_receive(:goto)
146
+ expect(watir_browser).to receive(:goto)
143
147
  WatirAccessorsTestPageObject.new(watir_browser, true)
144
148
  end
145
149
 
@@ -154,32 +158,32 @@ describe PageObject::Accessors do
154
158
  super(b, v)
155
159
  end
156
160
  end
157
- watir_browser.should_receive(:goto).with('custom')
161
+ expect(watir_browser).to receive(:goto).with('custom')
158
162
  SymbolPageUrl.new(watir_browser, true, 'custom')
159
163
 
160
- watir_browser.should_receive(:goto).with('different')
161
- SymbolPageUrl.new(watir_browser, true, 'different')
164
+ expect(watir_browser).to receive(:goto).with('different')
165
+ SymbolPageUrl.new(watir_browser, true, 'different')
162
166
  end
163
167
 
164
168
  it "should not navigate to a page when not requested" do
165
- watir_browser.should_not_receive(:goto)
169
+ expect(watir_browser).not_to receive(:goto)
166
170
  WatirAccessorsTestPageObject.new(watir_browser)
167
171
  end
168
172
 
169
173
  it "should not navigate to a page when 'page_url' not specified" do
170
- watir_browser.should_not_receive(:goto)
174
+ expect(watir_browser).not_to receive(:goto)
171
175
  WatirBlockPageObject.new(watir_browser, true)
172
176
  end
173
177
 
174
178
  it "should provide the page url" do
175
- watir_page_object.page_url_value.should == 'http://apple.com'
179
+ expect(watir_page_object.page_url_value).to eql 'http://apple.com'
176
180
  end
177
181
  end
178
182
 
179
183
  context "validating the page title" do
180
184
  it "should validate the title" do
181
- watir_browser.should_receive(:title).and_return("Expected Title")
182
- watir_page_object.should have_expected_title
185
+ expect(watir_browser).to receive(:title).and_return("Expected Title")
186
+ expect(watir_page_object).to have_expected_title
183
187
  end
184
188
 
185
189
  it "should validate the by regexp" do
@@ -187,20 +191,20 @@ describe PageObject::Accessors do
187
191
  include PageObject
188
192
  expected_title /\w+ \w+/
189
193
  end
190
- watir_browser.should_receive(:title).and_return("Expected Title")
191
- RegexpExpectedTitle.new(watir_browser).should have_expected_title
194
+ expect(watir_browser).to receive(:title).and_return("Expected Title")
195
+ expect(RegexpExpectedTitle.new(watir_browser)).to have_expected_title
192
196
  end
193
197
 
194
198
  it "should raise error when it does not have expected title" do
195
- watir_browser.should_receive(:title).once.and_return("Not Expected")
199
+ expect(watir_browser).to receive(:title).once.and_return("Not Expected")
196
200
  expect { watir_page_object.has_expected_title? }.to raise_error
197
201
  end
198
202
  end
199
203
 
200
204
  context "validating the existence of an element" do
201
205
  it "should validate an element exists" do
202
- watir_page_object.should_receive(:google_search_element).and_return(watir_browser)
203
- watir_browser.should_receive(:when_present).and_return(true)
206
+ expect(watir_page_object).to receive(:google_search_element).and_return(watir_browser)
207
+ expect(watir_browser).to receive(:when_present).and_return(true)
204
208
  watir_page_object.has_expected_element?
205
209
  end
206
210
 
@@ -209,7 +213,7 @@ describe PageObject::Accessors do
209
213
  include PageObject
210
214
  expected_element :foo
211
215
  end
212
- FakePage.new(watir_browser).should_not have_expected_element
216
+ expect(FakePage.new(watir_browser)).not_to have_expected_element
213
217
  end
214
218
  end
215
219
 
@@ -248,7 +252,7 @@ describe PageObject::Accessors do
248
252
  let(:default_identifier) { WatirDefaultIdentifier.new(watir_browser) }
249
253
 
250
254
  def mock_driver_for(tag)
251
- watir_browser.should_receive(tag).with(:index => 0).and_return(watir_browser)
255
+ expect(watir_browser).to receive(tag).with(:index => 0).and_return(watir_browser)
252
256
  end
253
257
 
254
258
  it "should work with a text_field" do
@@ -303,7 +307,7 @@ describe PageObject::Accessors do
303
307
 
304
308
  it "should work for a table" do
305
309
  mock_driver_for :table
306
- default_identifier.default_tab_element.should_not be_nil
310
+ expect(default_identifier.default_tab_element).not_to be_nil
307
311
  end
308
312
 
309
313
  it "should work for a cell" do
@@ -391,24 +395,24 @@ describe PageObject::Accessors do
391
395
  context "link accessors" do
392
396
  context "when called on a page object" do
393
397
  it "should generate accessor methods" do
394
- watir_page_object.should respond_to(:google_search)
395
- watir_page_object.should respond_to(:google_search_element)
398
+ expect(watir_page_object).to respond_to(:google_search)
399
+ expect(watir_page_object).to respond_to(:google_search_element)
396
400
  end
397
401
 
398
402
  it "should call a block on the element method when present" do
399
- block_page_object.continue_element.should == "link"
403
+ expect(block_page_object.continue_element).to eql "link"
400
404
  end
401
405
  end
402
406
 
403
407
  it "should select a link" do
404
- watir_browser.stub_chain(:link, :click)
408
+ expect(watir_browser).to receive_messages(link: watir_browser, click: watir_browser)
405
409
  watir_page_object.google_search
406
410
  end
407
411
 
408
412
  it "should return a link element" do
409
- watir_browser.should_receive(:link).and_return(watir_browser)
413
+ expect(watir_browser).to receive(:link).and_return(watir_browser)
410
414
  element = watir_page_object.google_search_element
411
- element.should be_instance_of PageObject::Elements::Link
415
+ expect(element).to be_instance_of PageObject::Elements::Link
412
416
  end
413
417
  end
414
418
 
@@ -416,33 +420,33 @@ describe PageObject::Accessors do
416
420
  describe "text_field accessors" do
417
421
  context "when called on a page object" do
418
422
  it "should generate accessor methods" do
419
- watir_page_object.should respond_to(:first_name)
420
- watir_page_object.should respond_to(:first_name=)
421
- watir_page_object.should respond_to(:first_name_element)
422
- watir_page_object.should respond_to(:first_name?)
423
+ expect(watir_page_object).to respond_to(:first_name)
424
+ expect(watir_page_object).to respond_to(:first_name=)
425
+ expect(watir_page_object).to respond_to(:first_name_element)
426
+ expect(watir_page_object).to respond_to(:first_name?)
423
427
  end
424
428
 
425
429
  it "should call a block on the element method when present" do
426
- block_page_object.first_name_element.should == "text_field"
430
+ expect(block_page_object.first_name_element).to eql "text_field"
427
431
  end
428
432
  end
429
433
 
430
434
  it "should get the text from the text field element" do
431
- watir_browser.should_receive(:text_field).and_return(watir_browser)
432
- watir_browser.should_receive(:value).and_return('Kim')
433
- watir_page_object.first_name.should == 'Kim'
435
+ expect(watir_browser).to receive(:text_field).and_return(watir_browser)
436
+ expect(watir_browser).to receive(:value).and_return('Kim')
437
+ expect(watir_page_object.first_name).to eql 'Kim'
434
438
  end
435
439
 
436
440
  it "should set some text on a text field element" do
437
- watir_browser.should_receive(:text_field).and_return(watir_browser)
438
- watir_browser.should_receive(:set).with('Kim')
441
+ expect(watir_browser).to receive(:text_field).and_return(watir_browser)
442
+ expect(watir_browser).to receive(:set).with('Kim')
439
443
  watir_page_object.first_name = 'Kim'
440
444
  end
441
445
 
442
446
  it "should retrieve a text field element" do
443
- watir_browser.should_receive(:text_field).and_return(watir_browser)
447
+ expect(watir_browser).to receive(:text_field).and_return(watir_browser)
444
448
  element = watir_page_object.first_name_element
445
- element.should be_instance_of PageObject::Elements::TextField
449
+ expect(element).to be_instance_of PageObject::Elements::TextField
446
450
  end
447
451
  end
448
452
 
@@ -450,147 +454,144 @@ describe PageObject::Accessors do
450
454
  describe "hidden field accessors" do
451
455
  context "when called on a page object" do
452
456
  it "should generate accessor methods" do
453
- watir_page_object.should respond_to(:social_security_number)
454
- watir_page_object.should respond_to(:social_security_number_element)
457
+ expect(watir_page_object).to respond_to(:social_security_number)
458
+ expect(watir_page_object).to respond_to(:social_security_number_element)
455
459
  end
456
460
 
457
461
  it "should call a block on the element method when present" do
458
- block_page_object.secret_element.should == "hidden_field"
462
+ expect(block_page_object.secret_element).to eql "hidden_field"
459
463
  end
460
464
  end
461
465
 
462
466
  it "should get the text from a hidden field" do
463
- watir_browser.should_receive(:hidden).and_return(watir_browser)
464
- watir_browser.should_receive(:value).and_return("value")
465
- watir_page_object.social_security_number.should == "value"
467
+ expect(watir_browser).to receive(:hidden).and_return(watir_browser)
468
+ expect(watir_browser).to receive(:value).and_return("value")
469
+ expect(watir_page_object.social_security_number).to eql "value"
466
470
  end
467
471
 
468
472
  it "should retrieve a hidden field element" do
469
- watir_browser.should_receive(:hidden).and_return(watir_browser)
473
+ expect(watir_browser).to receive(:hidden).and_return(watir_browser)
470
474
  element = watir_page_object.social_security_number_element
471
- element.should be_instance_of(PageObject::Elements::HiddenField)
475
+ expect(element).to be_instance_of(PageObject::Elements::HiddenField)
472
476
  end
473
477
  end
474
478
 
475
479
  describe "text area accessors" do
476
480
  context "when called on a page object" do
477
481
  it "should generate accessor methods" do
478
- watir_page_object.should respond_to(:address)
479
- watir_page_object.should respond_to(:address=)
480
- watir_page_object.should respond_to(:address_element)
482
+ expect(watir_page_object).to respond_to(:address)
483
+ expect(watir_page_object).to respond_to(:address=)
484
+ expect(watir_page_object).to respond_to(:address_element)
481
485
  end
482
486
 
483
487
  it "should call a block on the element method when present" do
484
- block_page_object.address_element.should == "text_area"
488
+ expect(block_page_object.address_element).to eql "text_area"
485
489
  end
486
490
  end
487
491
 
488
492
  it "should set some text on the text area" do
489
- watir_browser.should_receive(:textarea).and_return(watir_browser)
490
- watir_browser.should_receive(:set).with("123 main street")
493
+ expect(watir_browser).to receive(:textarea).and_return(watir_browser)
494
+ expect(watir_browser).to receive(:set).with("123 main street")
491
495
  watir_page_object.address = "123 main street"
492
496
  end
493
497
 
494
498
  it "should get the text from the text area" do
495
- watir_browser.should_receive(:textarea).and_return(watir_browser)
496
- watir_browser.should_receive(:value).and_return("123 main street")
497
- watir_page_object.address.should == "123 main street"
499
+ expect(watir_browser).to receive(:textarea).and_return(watir_browser)
500
+ expect(watir_browser).to receive(:value).and_return("123 main street")
501
+ expect(watir_page_object.address).to eql "123 main street"
498
502
  end
499
503
 
500
504
  it "should retrieve a text area element" do
501
- watir_browser.should_receive(:textarea).and_return(watir_browser)
505
+ expect(watir_browser).to receive(:textarea).and_return(watir_browser)
502
506
  element = watir_page_object.address_element
503
- element.should be_instance_of PageObject::Elements::TextArea
507
+ expect(element).to be_instance_of PageObject::Elements::TextArea
504
508
  end
505
509
  end
506
510
 
507
511
  describe "select_list accessors" do
508
512
  context "when called on a page object" do
509
513
  it "should generate accessor methods" do
510
- watir_page_object.should respond_to :state
511
- watir_page_object.should respond_to :state=
512
- watir_page_object.should respond_to(:state_element)
514
+ expect(watir_page_object).to respond_to :state
515
+ expect(watir_page_object).to respond_to :state=
516
+ expect(watir_page_object).to respond_to(:state_element)
513
517
  end
514
518
 
515
519
  it "should call a block on the element method when present" do
516
- block_page_object.state_element.should == "select_list"
520
+ expect(block_page_object.state_element).to eql "select_list"
517
521
  end
518
522
  end
519
523
 
520
524
  it "should get the current item from a select list" do
521
525
  selected = "OH"
522
- selected.should_receive(:selected?).and_return(selected)
523
- selected.should_receive(:text).and_return("OH")
524
- watir_browser.should_receive(:select_list).and_return watir_browser
525
- watir_browser.should_receive(:options).and_return([selected])
526
- watir_page_object.state.should == "OH"
526
+ expect(selected).to receive(:selected?).and_return(selected)
527
+ expect(selected).to receive(:text).and_return("OH")
528
+ expect(watir_browser).to receive(:select_list).and_return watir_browser
529
+ expect(watir_browser).to receive(:options).and_return([selected])
530
+ expect(watir_page_object.state).to eql "OH"
527
531
  end
528
532
 
529
533
  it "should set the current item of a select list" do
530
- watir_browser.should_receive(:select_list).and_return watir_browser
531
- watir_browser.should_receive(:select).with("OH")
534
+ expect(watir_browser).to receive(:select_list).and_return watir_browser
535
+ expect(watir_browser).to receive(:select).with("OH")
532
536
  watir_page_object.state = "OH"
533
537
  end
534
538
 
535
539
  it "should retreive the select list element" do
536
- watir_browser.should_receive(:select_list).and_return(watir_browser)
540
+ expect(watir_browser).to receive(:select_list).and_return(watir_browser)
537
541
  element = watir_page_object.state_element
538
- element.should be_instance_of PageObject::Elements::SelectList
542
+ expect(element).to be_instance_of PageObject::Elements::SelectList
539
543
  end
540
-
544
+
541
545
  it "should return list of selection options" do
542
546
  option1 = double('option')
543
547
  option2 = double('option')
544
- option1.should_receive(:text).and_return("CA")
545
- option2.should_receive(:text).and_return("OH")
548
+ expect(option1).to receive(:text).and_return("CA")
549
+ expect(option2).to receive(:text).and_return("OH")
546
550
 
547
551
  select_element = double("select")
548
- select_element.should_receive(:options).twice.and_return([option1, option2])
549
- watir_page_object.should_receive(:state_element).and_return(select_element)
550
-
551
- watir_page_object.state_options.should == ["CA","OH"]
552
+ expect(select_element).to receive(:options).twice.and_return([option1, option2])
553
+ expect(watir_page_object).to receive(:state_element).and_return(select_element)
554
+
555
+ expect(watir_page_object.state_options).to eql ["CA","OH"]
552
556
  end
553
-
554
-
555
557
  end
556
558
 
557
-
558
559
  describe "check_box accessors" do
559
560
  context "when called on a page object" do
560
561
  it "should generate accessor methods" do
561
- watir_page_object.should respond_to :check_active
562
- watir_page_object.should respond_to :uncheck_active
563
- watir_page_object.should respond_to :active_checked?
564
- watir_page_object.should respond_to :active_element
562
+ expect(watir_page_object).to respond_to :check_active
563
+ expect(watir_page_object).to respond_to :uncheck_active
564
+ expect(watir_page_object).to respond_to :active_checked?
565
+ expect(watir_page_object).to respond_to :active_element
565
566
  end
566
567
 
567
568
  it "should call a block on the element method when present" do
568
- block_page_object.active_element.should == "checkbox"
569
+ expect(block_page_object.active_element).to eql "checkbox"
569
570
  end
570
571
  end
571
572
 
572
573
  it "should check a check box element" do
573
- watir_browser.should_receive(:checkbox).and_return(watir_browser)
574
- watir_browser.should_receive(:set)
574
+ expect(watir_browser).to receive(:checkbox).and_return(watir_browser)
575
+ expect(watir_browser).to receive(:set)
575
576
  watir_page_object.check_active
576
577
  end
577
578
 
578
579
  it "should clear a check box element" do
579
- watir_browser.should_receive(:checkbox).and_return(watir_browser)
580
- watir_browser.should_receive(:clear)
580
+ expect(watir_browser).to receive(:checkbox).and_return(watir_browser)
581
+ expect(watir_browser).to receive(:clear)
581
582
  watir_page_object.uncheck_active
582
583
  end
583
584
 
584
585
  it "should know if a check box element is selected" do
585
- watir_browser.should_receive(:checkbox).and_return(watir_browser)
586
- watir_browser.should_receive(:set?).and_return(true)
587
- watir_page_object.active_checked?.should be true
586
+ expect(watir_browser).to receive(:checkbox).and_return(watir_browser)
587
+ expect(watir_browser).to receive(:set?).and_return(true)
588
+ expect(watir_page_object.active_checked?).to be true
588
589
  end
589
590
 
590
591
  it "should retrieve a checkbox element" do
591
- watir_browser.should_receive(:checkbox).and_return(watir_browser)
592
+ expect(watir_browser).to receive(:checkbox).and_return(watir_browser)
592
593
  element = watir_page_object.active_element
593
- element.should be_instance_of PageObject::Elements::CheckBox
594
+ expect(element).to be_instance_of PageObject::Elements::CheckBox
594
595
  end
595
596
  end
596
597
 
@@ -598,405 +599,398 @@ describe PageObject::Accessors do
598
599
  describe "radio accessors" do
599
600
  context "when called on a page object" do
600
601
  it "should generate accessor methods" do
601
- watir_page_object.should respond_to :select_first
602
- watir_page_object.should respond_to :clear_first
603
- watir_page_object.should respond_to :first_selected?
604
- watir_page_object.should respond_to(:first_element)
602
+ expect(watir_page_object).to respond_to :select_first
603
+ expect(watir_page_object).to respond_to :first_selected?
604
+ expect(watir_page_object).to respond_to(:first_element)
605
605
  end
606
606
 
607
607
  it "should call a block on the element method when present" do
608
- block_page_object.first_element.should == "radio_button"
608
+ expect(block_page_object.first_element).to eql "radio_button"
609
609
  end
610
610
  end
611
611
 
612
612
  it "should select a radio button" do
613
- watir_browser.should_receive(:radio).and_return(watir_browser)
614
- watir_browser.should_receive(:set)
613
+ expect(watir_browser).to receive(:radio).and_return(watir_browser)
614
+ expect(watir_browser).to receive(:set)
615
615
  watir_page_object.select_first
616
616
  end
617
617
 
618
- it "should clear a radio button" do
619
- watir_browser.should_receive(:radio).and_return(watir_browser)
620
- watir_browser.should_receive(:clear)
621
- watir_page_object.clear_first
622
- end
623
-
624
618
  it "should determine if a radio is selected" do
625
- watir_browser.should_receive(:radio).and_return(watir_browser)
626
- watir_browser.should_receive(:set?)
619
+ expect(watir_browser).to receive(:radio).and_return(watir_browser)
620
+ expect(watir_browser).to receive(:set?)
627
621
  watir_page_object.first_selected?
628
622
  end
629
623
 
630
624
  it "should retrieve a radio button element" do
631
- watir_browser.should_receive(:radio).and_return(watir_browser)
625
+ expect(watir_browser).to receive(:radio).and_return(watir_browser)
632
626
  element = watir_page_object.first_element
633
- element.should be_instance_of PageObject::Elements::RadioButton
627
+ expect(element).to be_instance_of PageObject::Elements::RadioButton
634
628
  end
635
629
  end
636
630
 
637
631
  describe "button accessors" do
638
632
  context "when called on a page object" do
639
633
  it "should generate accessor methods" do
640
- watir_page_object.should respond_to :click_me
641
- watir_page_object.should respond_to :click_me_element
634
+ expect(watir_page_object).to respond_to :click_me
635
+ expect(watir_page_object).to respond_to :click_me_element
642
636
  end
643
637
 
644
638
  it "should call a block on the element method when present" do
645
- block_page_object.click_me_element.should == "button"
639
+ expect(block_page_object.click_me_element).to eql "button"
646
640
  end
647
641
  end
648
642
 
649
643
  it "should be able to click a button" do
650
- watir_browser.should_receive(:button).and_return(watir_browser)
651
- watir_browser.should_receive(:click)
644
+ expect(watir_browser).to receive(:button).and_return(watir_browser)
645
+ expect(watir_browser).to receive(:click)
652
646
  watir_page_object.click_me
653
647
  end
654
648
 
655
649
  it "should retrieve a button element" do
656
- watir_browser.should_receive(:button).and_return(watir_browser)
650
+ expect(watir_browser).to receive(:button).and_return(watir_browser)
657
651
  element = watir_page_object.click_me_element
658
- element.should be_instance_of PageObject::Elements::Button
652
+ expect(element).to be_instance_of PageObject::Elements::Button
659
653
  end
660
654
  end
661
655
 
662
656
  describe "div accessors" do
663
657
  context "when called on a page object" do
664
658
  it "should generate accessor methods" do
665
- watir_page_object.should respond_to(:message)
666
- watir_page_object.should respond_to(:message_element)
659
+ expect(watir_page_object).to respond_to(:message)
660
+ expect(watir_page_object).to respond_to(:message_element)
667
661
  end
668
662
 
669
663
  it "should call a block on the element method when present" do
670
- block_page_object.footer_element.should == "div"
664
+ expect(block_page_object.footer_element).to eql "div"
671
665
  end
672
666
  end
673
667
 
674
668
  it "should retrieve the text from a div" do
675
- watir_browser.should_receive(:div).and_return(watir_browser)
676
- watir_browser.should_receive(:text).and_return("Message from div")
677
- watir_page_object.message.should == "Message from div"
669
+ expect(watir_browser).to receive(:div).and_return(watir_browser)
670
+ expect(watir_browser).to receive(:text).and_return("Message from div")
671
+ expect(watir_page_object.message).to eql "Message from div"
678
672
  end
679
673
 
680
674
  it "should retrieve the div element from the page" do
681
- watir_browser.should_receive(:div).and_return(watir_browser)
675
+ expect(watir_browser).to receive(:div).and_return(watir_browser)
682
676
  element = watir_page_object.message_element
683
- element.should be_instance_of PageObject::Elements::Div
677
+ expect(element).to be_instance_of PageObject::Elements::Div
684
678
  end
685
679
  end
686
680
 
687
681
  describe "span accessors" do
688
682
  context "when called on a page object" do
689
683
  it "should generate accessor methods" do
690
- watir_page_object.should respond_to(:alert_span)
691
- watir_page_object.should respond_to(:alert_span_element)
684
+ expect(watir_page_object).to respond_to(:alert_span)
685
+ expect(watir_page_object).to respond_to(:alert_span_element)
692
686
  end
693
687
 
694
688
  it "should call a block on the element method when present" do
695
- block_page_object.alert_span_element.should == "span"
689
+ expect(block_page_object.alert_span_element).to eql "span"
696
690
  end
697
691
  end
698
692
 
699
693
  it "should retrieve the text from a span" do
700
- watir_browser.should_receive(:span).and_return(watir_browser)
701
- watir_browser.should_receive(:text).and_return("Alert")
702
- watir_page_object.alert_span.should == "Alert"
694
+ expect(watir_browser).to receive(:span).and_return(watir_browser)
695
+ expect(watir_browser).to receive(:text).and_return("Alert")
696
+ expect(watir_page_object.alert_span).to eql "Alert"
703
697
  end
704
698
 
705
699
  it "should retrieve the span element from the page" do
706
- watir_browser.should_receive(:span).and_return(watir_browser)
700
+ expect(watir_browser).to receive(:span).and_return(watir_browser)
707
701
  element = watir_page_object.alert_span_element
708
- element.should be_instance_of PageObject::Elements::Span
702
+ expect(element).to be_instance_of PageObject::Elements::Span
709
703
  end
710
704
  end
711
705
 
712
706
  describe "table accessors" do
713
707
  context "when called on a page object" do
714
708
  it "should generate accessor methods" do
715
- watir_page_object.should respond_to(:cart)
716
- watir_page_object.should respond_to(:cart_element)
709
+ expect(watir_page_object).to respond_to(:cart)
710
+ expect(watir_page_object).to respond_to(:cart_element)
717
711
  end
718
712
 
719
713
  it "should call a block on the element method when present" do
720
- block_page_object.cart_element.should == "table"
714
+ expect(block_page_object.cart_element).to eql "table"
721
715
  end
722
716
  end
723
717
 
724
718
  it "should retrieve the table element from the page" do
725
- watir_browser.should_receive(:table).and_return(watir_browser)
719
+ expect(watir_browser).to receive(:table).and_return(watir_browser)
726
720
  element = watir_page_object.cart_element
727
- element.should be_instance_of PageObject::Elements::Table
721
+ expect(element).to be_instance_of PageObject::Elements::Table
728
722
  end
729
723
  end
730
724
 
731
725
  describe "table cell accessors" do
732
726
  context "when called on a page object" do
733
727
  it "should generate accessor methods" do
734
- watir_page_object.should respond_to(:total)
735
- watir_page_object.should respond_to(:total_element)
728
+ expect(watir_page_object).to respond_to(:total)
729
+ expect(watir_page_object).to respond_to(:total_element)
736
730
  end
737
731
 
738
732
  it "should call a block on the element method when present" do
739
- block_page_object.total_element.should == "cell"
733
+ expect(block_page_object.total_element).to eql "cell"
740
734
  end
741
735
  end
742
736
 
743
737
  it "should retrieve the text for the cell" do
744
- watir_browser.should_receive(:td).and_return(watir_browser)
745
- watir_browser.should_receive(:text).and_return('10.00')
746
- watir_page_object.total.should == '10.00'
738
+ expect(watir_browser).to receive(:td).and_return(watir_browser)
739
+ expect(watir_browser).to receive(:text).and_return('10.00')
740
+ expect(watir_page_object.total).to eql '10.00'
747
741
  end
748
742
 
749
743
  it "should retrieve the cell element from the page" do
750
- watir_browser.should_receive(:td).and_return(watir_browser)
744
+ expect(watir_browser).to receive(:td).and_return(watir_browser)
751
745
  element = watir_page_object.total_element
752
- element.should be_instance_of PageObject::Elements::TableCell
746
+ expect(element).to be_instance_of PageObject::Elements::TableCell
753
747
  end
754
748
  end
755
749
 
756
750
  describe "image accessors" do
757
751
  context "when called on a page object" do
758
752
  it "should generate accessor methods" do
759
- watir_page_object.should respond_to(:logo_element)
753
+ expect(watir_page_object).to respond_to(:logo_element)
760
754
  end
761
755
 
762
756
  it "should call a block on the element method when present" do
763
- block_page_object.logo_element.should == "image"
757
+ expect(block_page_object.logo_element).to eql "image"
764
758
  end
765
759
  end
766
760
 
767
761
  it "should retrieve the image element from the page" do
768
- watir_browser.should_receive(:image).and_return(watir_browser)
762
+ expect(watir_browser).to receive(:image).and_return(watir_browser)
769
763
  element = watir_page_object.logo_element
770
- element.should be_instance_of PageObject::Elements::Image
764
+ expect(element).to be_instance_of PageObject::Elements::Image
771
765
  end
772
766
  end
773
767
 
774
768
  describe "form accessors" do
775
769
  context "when called on a page object" do
776
770
  it "should generate accessor methods" do
777
- watir_page_object.should respond_to(:login_element)
771
+ expect(watir_page_object).to respond_to(:login_element)
778
772
  end
779
773
 
780
774
  it "should call a block on the element method when present" do
781
- block_page_object.login_element.should == "form"
775
+ expect(block_page_object.login_element).to eql "form"
782
776
  end
783
777
  end
784
778
 
785
779
  it "should retrieve the form element from the page" do
786
- watir_browser.should_receive(:form).and_return(watir_browser)
780
+ expect(watir_browser).to receive(:form).and_return(watir_browser)
787
781
  element = watir_page_object.login_element
788
- element.should be_instance_of PageObject::Elements::Form
782
+ expect(element).to be_instance_of PageObject::Elements::Form
789
783
  end
790
784
  end
791
785
 
792
786
  describe "list item accessors" do
793
787
  context "when called on a page object" do
794
788
  it "should generate accessor methods" do
795
- watir_page_object.should respond_to(:item_one)
796
- watir_page_object.should respond_to(:item_one_element)
789
+ expect(watir_page_object).to respond_to(:item_one)
790
+ expect(watir_page_object).to respond_to(:item_one_element)
797
791
  end
798
792
 
799
793
  it "should call a block on the element method when present" do
800
- block_page_object.item_one_element.should == "list_item"
794
+ expect(block_page_object.item_one_element).to eql "list_item"
801
795
  end
802
796
  end
803
797
 
804
798
  it "should retrieve the text from the list item" do
805
- watir_browser.should_receive(:li).and_return(watir_browser)
806
- watir_browser.should_receive(:text).and_return("value")
807
- watir_page_object.item_one.should == "value"
799
+ expect(watir_browser).to receive(:li).and_return(watir_browser)
800
+ expect(watir_browser).to receive(:text).and_return("value")
801
+ expect(watir_page_object.item_one).to eql "value"
808
802
  end
809
803
 
810
804
  it "should retrieve the list item element from the page" do
811
- watir_browser.should_receive(:li).and_return(watir_browser)
805
+ expect(watir_browser).to receive(:li).and_return(watir_browser)
812
806
  element = watir_page_object.item_one_element
813
- element.should be_instance_of PageObject::Elements::ListItem
807
+ expect(element).to be_instance_of PageObject::Elements::ListItem
814
808
  end
815
809
  end
816
810
 
817
811
  describe "unordered list accessors" do
818
812
  context "when called on a page object" do
819
813
  it "should generate accessor methods" do
820
- watir_page_object.should respond_to(:menu_element)
814
+ expect(watir_page_object).to respond_to(:menu_element)
821
815
  end
822
816
 
823
817
  it "should call a block on the element method when present" do
824
- block_page_object.menu_element.should == "unordered_list"
818
+ expect(block_page_object.menu_element).to eql "unordered_list"
825
819
  end
826
820
  end
827
821
 
828
822
  it "should retrieve the element from the page" do
829
- watir_browser.should_receive(:ul).and_return(watir_browser)
823
+ expect(watir_browser).to receive(:ul).and_return(watir_browser)
830
824
  element = watir_page_object.menu_element
831
- element.should be_instance_of PageObject::Elements::UnorderedList
825
+ expect(element).to be_instance_of PageObject::Elements::UnorderedList
832
826
  end
833
827
  end
834
828
 
835
829
  describe "ordered list accessors" do
836
830
  context "when called on a page object" do
837
831
  it "should generate accessor methods" do
838
- watir_page_object.should respond_to(:top_five_element)
832
+ expect(watir_page_object).to respond_to(:top_five_element)
839
833
  end
840
834
 
841
835
  it "should call a block on the element method when present" do
842
- block_page_object.top_five_element.should == "ordered_list"
836
+ expect(block_page_object.top_five_element).to eql "ordered_list"
843
837
  end
844
838
  end
845
839
 
846
840
  it "should retrieve the element from the page" do
847
- watir_browser.should_receive(:ol).and_return(watir_browser)
841
+ expect(watir_browser).to receive(:ol).and_return(watir_browser)
848
842
  element = watir_page_object.top_five_element
849
- element.should be_instance_of PageObject::Elements::OrderedList
843
+ expect(element).to be_instance_of PageObject::Elements::OrderedList
850
844
  end
851
845
  end
852
846
 
853
847
  describe "h1 accessors" do
854
848
  context "when called on a page object" do
855
849
  it "should generate accessor methods" do
856
- watir_page_object.should respond_to(:heading1)
857
- watir_page_object.should respond_to(:heading1_element)
850
+ expect(watir_page_object).to respond_to(:heading1)
851
+ expect(watir_page_object).to respond_to(:heading1_element)
858
852
  end
859
853
 
860
854
  it "should call a block on the element method when present" do
861
- block_page_object.heading1_element.should == "h1"
855
+ expect(block_page_object.heading1_element).to eql "h1"
862
856
  end
863
857
  end
864
858
 
865
859
  it "should retrieve the text from the h1" do
866
- watir_browser.should_receive(:h1).and_return(watir_browser)
867
- watir_browser.should_receive(:text).and_return("value")
868
- watir_page_object.heading1.should == "value"
860
+ expect(watir_browser).to receive(:h1).and_return(watir_browser)
861
+ expect(watir_browser).to receive(:text).and_return("value")
862
+ expect(watir_page_object.heading1).to eql "value"
869
863
  end
870
864
 
871
865
  it "should retrieve the element from the page" do
872
- watir_browser.should_receive(:h1).and_return(watir_browser)
866
+ expect(watir_browser).to receive(:h1).and_return(watir_browser)
873
867
  element = watir_page_object.heading1_element
874
- element.should be_instance_of PageObject::Elements::Heading
868
+ expect(element).to be_instance_of PageObject::Elements::Heading
875
869
  end
876
870
  end
877
871
 
878
872
  describe "h2 accessors" do
879
873
  context "when called on a page object" do
880
874
  it "should generate accessor methods" do
881
- watir_page_object.should respond_to(:heading2)
882
- watir_page_object.should respond_to(:heading2_element)
875
+ expect(watir_page_object).to respond_to(:heading2)
876
+ expect(watir_page_object).to respond_to(:heading2_element)
883
877
  end
884
878
 
885
879
  it "should call a block on the element method when present" do
886
- block_page_object.heading2_element.should == "h2"
880
+ expect(block_page_object.heading2_element).to eql "h2"
887
881
  end
888
882
  end
889
883
 
890
884
  it "should retrieve the text from the h2" do
891
- watir_browser.should_receive(:h2).and_return(watir_browser)
892
- watir_browser.should_receive(:text).and_return("value")
893
- watir_page_object.heading2.should == "value"
885
+ expect(watir_browser).to receive(:h2).and_return(watir_browser)
886
+ expect(watir_browser).to receive(:text).and_return("value")
887
+ expect(watir_page_object.heading2).to eql "value"
894
888
  end
895
889
 
896
890
  it "should retrieve the element from the page" do
897
- watir_browser.should_receive(:h2).and_return(watir_browser)
891
+ expect(watir_browser).to receive(:h2).and_return(watir_browser)
898
892
  element = watir_page_object.heading2_element
899
- element.should be_instance_of PageObject::Elements::Heading
893
+ expect(element).to be_instance_of PageObject::Elements::Heading
900
894
  end
901
895
  end
902
896
 
903
897
  describe "h3 accessors" do
904
898
  context "when called on a page object" do
905
899
  it "should generate accessor methods" do
906
- watir_page_object.should respond_to(:heading3)
907
- watir_page_object.should respond_to(:heading3_element)
900
+ expect(watir_page_object).to respond_to(:heading3)
901
+ expect(watir_page_object).to respond_to(:heading3_element)
908
902
  end
909
903
 
910
904
  it "should call a block on the element method when present" do
911
- block_page_object.heading3_element.should == "h3"
905
+ expect(block_page_object.heading3_element).to eql "h3"
912
906
  end
913
907
  end
914
908
 
915
909
  it "should retrieve the text from the h3" do
916
- watir_browser.should_receive(:h3).and_return(watir_browser)
917
- watir_browser.should_receive(:text).and_return("value")
918
- watir_page_object.heading3.should == "value"
910
+ expect(watir_browser).to receive(:h3).and_return(watir_browser)
911
+ expect(watir_browser).to receive(:text).and_return("value")
912
+ expect(watir_page_object.heading3).to eql "value"
919
913
  end
920
914
 
921
915
  it "should retrieve the element from the page" do
922
- watir_browser.should_receive(:h3).and_return(watir_browser)
916
+ expect(watir_browser).to receive(:h3).and_return(watir_browser)
923
917
  element = watir_page_object.heading3_element
924
- element.should be_instance_of PageObject::Elements::Heading
918
+ expect(element).to be_instance_of PageObject::Elements::Heading
925
919
  end
926
920
  end
927
921
 
928
922
  describe "h4 accessors" do
929
923
  context "when called on a page object" do
930
924
  it "should generate accessor methods" do
931
- watir_page_object.should respond_to(:heading4)
932
- watir_page_object.should respond_to(:heading4_element)
925
+ expect(watir_page_object).to respond_to(:heading4)
926
+ expect(watir_page_object).to respond_to(:heading4_element)
933
927
  end
934
928
 
935
929
  it "should call a block on the element method when present" do
936
- block_page_object.heading4_element.should == "h4"
930
+ expect(block_page_object.heading4_element).to eql "h4"
937
931
  end
938
932
  end
939
933
 
940
934
  it "should retrieve the text from the h4" do
941
- watir_browser.should_receive(:h4).and_return(watir_browser)
942
- watir_browser.should_receive(:text).and_return("value")
943
- watir_page_object.heading4.should == "value"
935
+ expect(watir_browser).to receive(:h4).and_return(watir_browser)
936
+ expect(watir_browser).to receive(:text).and_return("value")
937
+ expect(watir_page_object.heading4).to eql "value"
944
938
  end
945
939
 
946
940
  it "should retrieve the element from the page" do
947
- watir_browser.should_receive(:h4).and_return(watir_browser)
941
+ expect(watir_browser).to receive(:h4).and_return(watir_browser)
948
942
  element = watir_page_object.heading4_element
949
- element.should be_instance_of PageObject::Elements::Heading
943
+ expect(element).to be_instance_of PageObject::Elements::Heading
950
944
  end
951
945
  end
952
946
 
953
947
  describe "h5 accessors" do
954
948
  context "when called on a page object" do
955
949
  it "should generate accessor methods" do
956
- watir_page_object.should respond_to(:heading5)
957
- watir_page_object.should respond_to(:heading5_element)
950
+ expect(watir_page_object).to respond_to(:heading5)
951
+ expect(watir_page_object).to respond_to(:heading5_element)
958
952
  end
959
953
 
960
954
  it "should call a block on the element method when present" do
961
- block_page_object.heading5_element.should == "h5"
955
+ expect(block_page_object.heading5_element).to eql "h5"
962
956
  end
963
957
  end
964
958
 
965
959
  it "should retrieve the text from the h5" do
966
- watir_browser.should_receive(:h5).and_return(watir_browser)
967
- watir_browser.should_receive(:text).and_return("value")
968
- watir_page_object.heading5.should == "value"
960
+ expect(watir_browser).to receive(:h5).and_return(watir_browser)
961
+ expect(watir_browser).to receive(:text).and_return("value")
962
+ expect(watir_page_object.heading5).to eql "value"
969
963
  end
970
964
 
971
965
  it "should retrieve the element from the page" do
972
- watir_browser.should_receive(:h5).and_return(watir_browser)
966
+ expect(watir_browser).to receive(:h5).and_return(watir_browser)
973
967
  element = watir_page_object.heading5_element
974
- element.should be_instance_of PageObject::Elements::Heading
968
+ expect(element).to be_instance_of PageObject::Elements::Heading
975
969
  end
976
970
  end
977
971
 
978
972
  describe "h6 accessors" do
979
973
  context "when called on a page object" do
980
974
  it "should generate accessor methods" do
981
- watir_page_object.should respond_to(:heading6)
982
- watir_page_object.should respond_to(:heading6_element)
975
+ expect(watir_page_object).to respond_to(:heading6)
976
+ expect(watir_page_object).to respond_to(:heading6_element)
983
977
  end
984
978
 
985
979
  it "should call a block on the element method when present" do
986
- block_page_object.heading6_element.should == "h6"
980
+ expect(block_page_object.heading6_element).to eql "h6"
987
981
  end
988
982
  end
989
983
 
990
984
  it "should retrieve the text from the h6" do
991
- watir_browser.should_receive(:h6).and_return(watir_browser)
992
- watir_browser.should_receive(:text).and_return("value")
993
- watir_page_object.heading6.should == "value"
985
+ expect(watir_browser).to receive(:h6).and_return(watir_browser)
986
+ expect(watir_browser).to receive(:text).and_return("value")
987
+ expect(watir_page_object.heading6).to eql "value"
994
988
  end
995
989
 
996
990
  it "should retrieve the element from the page" do
997
- watir_browser.should_receive(:h6).and_return(watir_browser)
991
+ expect(watir_browser).to receive(:h6).and_return(watir_browser)
998
992
  element = watir_page_object.heading6_element
999
- element.should be_instance_of PageObject::Elements::Heading
993
+ expect(element).to be_instance_of PageObject::Elements::Heading
1000
994
  end
1001
995
  end
1002
996
 
@@ -1004,98 +998,98 @@ describe PageObject::Accessors do
1004
998
  describe "p accessors" do
1005
999
  context "when called on a page object" do
1006
1000
  it "should generate accessor methods" do
1007
- watir_page_object.should respond_to(:first_para)
1008
- watir_page_object.should respond_to(:first_para_element)
1001
+ expect(watir_page_object).to respond_to(:first_para)
1002
+ expect(watir_page_object).to respond_to(:first_para_element)
1009
1003
  end
1010
1004
 
1011
1005
  it "should call a block on the element method when present" do
1012
- block_page_object.first_para_element.should == "p"
1006
+ expect(block_page_object.first_para_element).to eql "p"
1013
1007
  end
1014
1008
  end
1015
1009
 
1016
1010
  it "should retrieve the text from the p" do
1017
- watir_browser.should_receive(:p).and_return(watir_browser)
1018
- watir_browser.should_receive(:text).and_return("value")
1019
- watir_page_object.first_para.should == "value"
1011
+ expect(watir_browser).to receive(:p).and_return(watir_browser)
1012
+ expect(watir_browser).to receive(:text).and_return("value")
1013
+ expect(watir_page_object.first_para).to eql "value"
1020
1014
  end
1021
1015
 
1022
1016
  it "should retrieve the element from the page" do
1023
- watir_browser.should_receive(:p).and_return(watir_browser)
1017
+ expect(watir_browser).to receive(:p).and_return(watir_browser)
1024
1018
  element = watir_page_object.first_para_element
1025
- element.should be_instance_of PageObject::Elements::Paragraph
1019
+ expect(element).to be_instance_of PageObject::Elements::Paragraph
1026
1020
  end
1027
1021
  end
1028
1022
 
1029
1023
  describe "file_field accessors" do
1030
1024
  context "when called on a page object" do
1031
1025
  it "should generate accessor methods" do
1032
- watir_page_object.should respond_to(:upload_me=)
1033
- watir_page_object.should respond_to(:upload_me_element)
1026
+ expect(watir_page_object).to respond_to(:upload_me=)
1027
+ expect(watir_page_object).to respond_to(:upload_me_element)
1034
1028
  end
1035
1029
 
1036
1030
  it "should call a block on the element method when present" do
1037
- block_page_object.a_file_element.should == "file_field"
1031
+ expect(block_page_object.a_file_element).to eql "file_field"
1038
1032
  end
1039
1033
  end
1040
1034
 
1041
1035
  it "should set the file name" do
1042
- watir_browser.should_receive(:file_field).and_return(watir_browser)
1043
- watir_browser.should_receive(:set).with('some_file')
1036
+ expect(watir_browser).to receive(:file_field).and_return(watir_browser)
1037
+ expect(watir_browser).to receive(:set).with('some_file')
1044
1038
  watir_page_object.upload_me = 'some_file'
1045
1039
  end
1046
1040
 
1047
1041
  it "should retrieve a text field element" do
1048
- watir_browser.should_receive(:file_field).and_return(watir_browser)
1042
+ expect(watir_browser).to receive(:file_field).and_return(watir_browser)
1049
1043
  element = watir_page_object.upload_me_element
1050
- element.should be_instance_of PageObject::Elements::FileField
1044
+ expect(element).to be_instance_of PageObject::Elements::FileField
1051
1045
  end
1052
1046
  end
1053
1047
 
1054
1048
  describe "area accessors" do
1055
1049
  context "when called on a page object" do
1056
1050
  it "should generate accessor methods" do
1057
- watir_page_object.should respond_to(:img_area)
1058
- watir_page_object.should respond_to(:img_area_element)
1051
+ expect(watir_page_object).to respond_to(:img_area)
1052
+ expect(watir_page_object).to respond_to(:img_area_element)
1059
1053
  end
1060
1054
 
1061
1055
  it "should call a block on the element method when present" do
1062
- block_page_object.img_area_element.should == "area"
1056
+ expect(block_page_object.img_area_element).to eql "area"
1063
1057
  end
1064
1058
  end
1065
1059
 
1066
1060
  it "should click on the area" do
1067
- watir_browser.should_receive(:area).and_return(watir_browser)
1068
- watir_browser.should_receive(:click)
1061
+ expect(watir_browser).to receive(:area).and_return(watir_browser)
1062
+ expect(watir_browser).to receive(:click)
1069
1063
  watir_page_object.img_area
1070
1064
  end
1071
1065
 
1072
1066
  it "should retrieve the element from the page" do
1073
- watir_browser.should_receive(:area).and_return(watir_browser)
1067
+ expect(watir_browser).to receive(:area).and_return(watir_browser)
1074
1068
  element = watir_page_object.img_area_element
1075
- element.should be_instance_of PageObject::Elements::Area
1069
+ expect(element).to be_instance_of PageObject::Elements::Area
1076
1070
  end
1077
1071
  end
1078
1072
 
1079
1073
  describe "canvas accessors" do
1080
1074
  context "when called on a page object" do
1081
1075
  it "should generate accessor methods" do
1082
- watir_page_object.should respond_to(:my_canvas_element)
1076
+ expect(watir_page_object).to respond_to(:my_canvas_element)
1083
1077
  end
1084
1078
 
1085
1079
  it "should call a block on the element method when present" do
1086
- block_page_object.my_canvas_element.should == "canvas"
1080
+ expect(block_page_object.my_canvas_element).to eql "canvas"
1087
1081
  end
1088
1082
  end
1089
1083
  end
1090
-
1084
+
1091
1085
  describe "audio accessors" do
1092
1086
  context "when called on a page object" do
1093
1087
  it "should generate accessor methods" do
1094
- watir_page_object.should respond_to(:acdc_element)
1088
+ expect(watir_page_object).to respond_to(:acdc_element)
1095
1089
  end
1096
1090
 
1097
1091
  it "should call a block on the element method when present" do
1098
- block_page_object.acdc_element.should == "audio"
1092
+ expect(block_page_object.acdc_element).to eql "audio"
1099
1093
  end
1100
1094
  end
1101
1095
  end
@@ -1103,12 +1097,38 @@ describe PageObject::Accessors do
1103
1097
  describe "video accessors" do
1104
1098
  context "when called on a page object" do
1105
1099
  it "should generate accessor methods" do
1106
- watir_page_object.should respond_to(:movie_element)
1100
+ expect(watir_page_object).to respond_to(:movie_element)
1101
+ end
1102
+
1103
+ it "should call a block on the element method when present" do
1104
+ expect(block_page_object.movie_element).to eql "video"
1105
+ end
1106
+ end
1107
+ end
1108
+
1109
+ describe "b accessors" do
1110
+ context "when called on a page object" do
1111
+ it "should generate accessor methods" do
1112
+ expect(watir_page_object).to respond_to(:bold)
1113
+ expect(watir_page_object).to respond_to(:bold_element)
1107
1114
  end
1108
1115
 
1109
1116
  it "should call a block on the element method when present" do
1110
- block_page_object.movie_element.should == "video"
1117
+ expect(block_page_object.bold_element).to eql "b"
1111
1118
  end
1112
1119
  end
1120
+
1121
+ it "should retrieve the text from the b" do
1122
+ expect(watir_browser).to receive(:b).and_return(watir_browser)
1123
+ expect(watir_browser).to receive(:text).and_return("value")
1124
+ expect(watir_page_object.bold).to eql "value"
1125
+ end
1126
+
1127
+ it "should retrieve the element from the page" do
1128
+ expect(watir_browser).to receive(:b).and_return(watir_browser)
1129
+ element = watir_page_object.bold_element
1130
+ expect(element).to be_instance_of PageObject::Elements::Bold
1131
+ end
1113
1132
  end
1133
+
1114
1134
  end