page-object 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +22 -12
  3. data/ChangeLog +10 -0
  4. data/Gemfile +4 -2
  5. data/Guardfile +1 -1
  6. data/README.md +2 -2
  7. data/lib/page-object/accessors.rb +57 -35
  8. data/lib/page-object/elements/element.rb +26 -0
  9. data/lib/page-object/locator_generator.rb +46 -0
  10. data/lib/page-object/platforms/selenium_webdriver/element.rb +6 -6
  11. data/lib/page-object/platforms/selenium_webdriver/page_object.rb +14 -0
  12. data/lib/page-object/platforms/watir_webdriver/element.rb +0 -7
  13. data/lib/page-object/platforms/watir_webdriver/page_object.rb +16 -3
  14. data/lib/page-object/version.rb +1 -1
  15. data/page-object.gemspec +7 -10
  16. metadata +34 -375
  17. data/features/area.feature +0 -35
  18. data/features/async.feature +0 -21
  19. data/features/audio.feature +0 -64
  20. data/features/bold.feature +0 -21
  21. data/features/button.feature +0 -98
  22. data/features/canvas.feature +0 -37
  23. data/features/check_box.feature +0 -55
  24. data/features/div.feature +0 -45
  25. data/features/element.feature +0 -343
  26. data/features/file_field.feature +0 -40
  27. data/features/form.feature +0 -43
  28. data/features/frames.feature +0 -75
  29. data/features/generic_elements.feature +0 -29
  30. data/features/gxt_table_extension.feature +0 -23
  31. data/features/headings.feature +0 -97
  32. data/features/hidden_field.feature +0 -45
  33. data/features/html/04-Death_Becomes_Fur.mp4 +0 -0
  34. data/features/html/04-Death_Becomes_Fur.oga +0 -0
  35. data/features/html/async.html +0 -36
  36. data/features/html/double_click.html +0 -13
  37. data/features/html/failure.html +0 -8
  38. data/features/html/frame_1.html +0 -18
  39. data/features/html/frame_2.html +0 -16
  40. data/features/html/frame_3.html +0 -14
  41. data/features/html/frames.html +0 -12
  42. data/features/html/hover.html +0 -12
  43. data/features/html/iframes.html +0 -12
  44. data/features/html/images/circle.png +0 -0
  45. data/features/html/images/img_pulpit.jpg +0 -0
  46. data/features/html/images/submit.gif +0 -0
  47. data/features/html/indexed_property.html +0 -55
  48. data/features/html/modal.html +0 -17
  49. data/features/html/modal_1.html +0 -38
  50. data/features/html/modal_2.html +0 -27
  51. data/features/html/movie.mp4 +0 -0
  52. data/features/html/movie.ogg +0 -0
  53. data/features/html/multi_elements.html +0 -145
  54. data/features/html/nested_elements.html +0 -77
  55. data/features/html/nested_frame_1.html +0 -1
  56. data/features/html/nested_frame_2.html +0 -11
  57. data/features/html/nested_frame_3.html +0 -14
  58. data/features/html/nested_frames.html +0 -10
  59. data/features/html/planets.gif +0 -0
  60. data/features/html/static_elements.html +0 -194
  61. data/features/html/success.html +0 -8
  62. data/features/html/sun.gif +0 -0
  63. data/features/html/sun.html +0 -7
  64. data/features/html/widgets.html +0 -20
  65. data/features/image.feature +0 -50
  66. data/features/indexed_property.feature +0 -117
  67. data/features/italic.feature +0 -21
  68. data/features/javascript.feature +0 -28
  69. data/features/label.feature +0 -46
  70. data/features/link.feature +0 -52
  71. data/features/list_item.feature +0 -36
  72. data/features/modal_dialog.feature +0 -15
  73. data/features/multi_elements.feature +0 -498
  74. data/features/nested_elements.feature +0 -117
  75. data/features/ordered_list.feature +0 -56
  76. data/features/page_level_actions.feature +0 -90
  77. data/features/paragraph.feature +0 -35
  78. data/features/radio_button.feature +0 -58
  79. data/features/radio_button_group.feature +0 -29
  80. data/features/sample-app/public/audio_video.html +0 -23
  81. data/features/sample-app/public/jquery-1.3.2.js +0 -4376
  82. data/features/sample-app/public/jquery.html +0 -30
  83. data/features/sample-app/public/prototype-1.6.0.3.js +0 -4320
  84. data/features/sample-app/public/prototype.html +0 -35
  85. data/features/sample-app/sample_app.rb +0 -35
  86. data/features/section.feature +0 -136
  87. data/features/select_list.feature +0 -86
  88. data/features/span.feature +0 -37
  89. data/features/step_definitions/accessor_steps.rb +0 -64
  90. data/features/step_definitions/area_steps.rb +0 -19
  91. data/features/step_definitions/async_steps.rb +0 -83
  92. data/features/step_definitions/audio_steps.rb +0 -27
  93. data/features/step_definitions/bold_steps.rb +0 -12
  94. data/features/step_definitions/button_steps.rb +0 -48
  95. data/features/step_definitions/canvas_steps.rb +0 -15
  96. data/features/step_definitions/check_box_steps.rb +0 -35
  97. data/features/step_definitions/div_steps.rb +0 -19
  98. data/features/step_definitions/element_steps.rb +0 -294
  99. data/features/step_definitions/file_field_steps.rb +0 -19
  100. data/features/step_definitions/form_steps.rb +0 -19
  101. data/features/step_definitions/frames_steps.rb +0 -159
  102. data/features/step_definitions/generic_element_steps.rb +0 -31
  103. data/features/step_definitions/gxt_table_steps.rb +0 -53
  104. data/features/step_definitions/headings_steps.rb +0 -12
  105. data/features/step_definitions/hidden_field_steps.rb +0 -27
  106. data/features/step_definitions/image_steps.rb +0 -27
  107. data/features/step_definitions/indexed_property_steps.rb +0 -163
  108. data/features/step_definitions/italic_steps.rb +0 -12
  109. data/features/step_definitions/javascript_steps.rb +0 -53
  110. data/features/step_definitions/label_steps.rb +0 -19
  111. data/features/step_definitions/link_steps.rb +0 -40
  112. data/features/step_definitions/list_item_steps.rb +0 -19
  113. data/features/step_definitions/modal_dialog_steps.rb +0 -62
  114. data/features/step_definitions/multi_elements_steps.rb +0 -554
  115. data/features/step_definitions/nested_elements_steps.rb +0 -212
  116. data/features/step_definitions/ordered_list_steps.rb +0 -23
  117. data/features/step_definitions/page_level_actions_steps.rb +0 -135
  118. data/features/step_definitions/page_traversal_steps.rb +0 -8
  119. data/features/step_definitions/paragraph_steps.rb +0 -28
  120. data/features/step_definitions/radio_button_group_steps.rb +0 -36
  121. data/features/step_definitions/radio_button_steps.rb +0 -27
  122. data/features/step_definitions/section_steps.rb +0 -277
  123. data/features/step_definitions/select_list_steps.rb +0 -65
  124. data/features/step_definitions/span_steps.rb +0 -19
  125. data/features/step_definitions/table_cell_steps.rb +0 -15
  126. data/features/step_definitions/table_row_steps.rb +0 -23
  127. data/features/step_definitions/table_steps.rb +0 -70
  128. data/features/step_definitions/text_area_steps.rb +0 -35
  129. data/features/step_definitions/text_field_steps.rb +0 -35
  130. data/features/step_definitions/unordered_list_steps.rb +0 -23
  131. data/features/step_definitions/video_steps.rb +0 -45
  132. data/features/support/ajax_text_environment.rb +0 -26
  133. data/features/support/audio_video_page.rb +0 -24
  134. data/features/support/env.rb +0 -8
  135. data/features/support/hooks.rb +0 -8
  136. data/features/support/page.rb +0 -373
  137. data/features/support/persistent_browser.rb +0 -70
  138. data/features/support/targets/firefox14_osx.rb +0 -6
  139. data/features/support/targets/firefox14_windows7.rb +0 -6
  140. data/features/support/url_helper.rb +0 -61
  141. data/features/table.feature +0 -122
  142. data/features/table_cell.feature +0 -45
  143. data/features/table_row.feature +0 -43
  144. data/features/text_area.feature +0 -51
  145. data/features/text_field.feature +0 -70
  146. data/features/unordered_list.feature +0 -56
  147. data/features/video.feature +0 -69
  148. data/spec/page-object/accessors_spec.rb +0 -40
  149. data/spec/page-object/element_locators_spec.rb +0 -1144
  150. data/spec/page-object/elements/area_spec.rb +0 -45
  151. data/spec/page-object/elements/bold_spec.rb +0 -29
  152. data/spec/page-object/elements/button_spec.rb +0 -64
  153. data/spec/page-object/elements/canvas_spec.rb +0 -41
  154. data/spec/page-object/elements/check_box_spec.rb +0 -49
  155. data/spec/page-object/elements/div_spec.rb +0 -28
  156. data/spec/page-object/elements/element_spec.rb +0 -196
  157. data/spec/page-object/elements/file_field_spec.rb +0 -39
  158. data/spec/page-object/elements/form_spec.rb +0 -28
  159. data/spec/page-object/elements/heading_spec.rb +0 -48
  160. data/spec/page-object/elements/hidden_field_spec.rb +0 -28
  161. data/spec/page-object/elements/image_spec.rb +0 -66
  162. data/spec/page-object/elements/italic_spec.rb +0 -29
  163. data/spec/page-object/elements/label_spec.rb +0 -29
  164. data/spec/page-object/elements/link_spec.rb +0 -49
  165. data/spec/page-object/elements/list_item_spec.rb +0 -29
  166. data/spec/page-object/elements/media_spec.rb +0 -63
  167. data/spec/page-object/elements/nested_element_spec.rb +0 -254
  168. data/spec/page-object/elements/option_spec.rb +0 -11
  169. data/spec/page-object/elements/ordered_list_spec.rb +0 -78
  170. data/spec/page-object/elements/paragraph_spec.rb +0 -27
  171. data/spec/page-object/elements/select_list_spec.rb +0 -142
  172. data/spec/page-object/elements/selenium/radio_button_spec.rb +0 -44
  173. data/spec/page-object/elements/selenium/text_field_spec.rb +0 -49
  174. data/spec/page-object/elements/selenium_element_spec.rb +0 -218
  175. data/spec/page-object/elements/span_spec.rb +0 -26
  176. data/spec/page-object/elements/table_cell_spec.rb +0 -21
  177. data/spec/page-object/elements/table_row_spec.rb +0 -70
  178. data/spec/page-object/elements/table_spec.rb +0 -98
  179. data/spec/page-object/elements/text_area_spec.rb +0 -39
  180. data/spec/page-object/elements/unordered_list_spec.rb +0 -77
  181. data/spec/page-object/elements/video_spec.rb +0 -33
  182. data/spec/page-object/elements/watir_element_spec.rb +0 -193
  183. data/spec/page-object/javascript_framework_facade_spec.rb +0 -61
  184. data/spec/page-object/loads_platform_spec.rb +0 -53
  185. data/spec/page-object/page-object_spec.rb +0 -435
  186. data/spec/page-object/page_factory_spec.rb +0 -238
  187. data/spec/page-object/page_populator_spec.rb +0 -122
  188. data/spec/page-object/page_section_spec.rb +0 -80
  189. data/spec/page-object/platforms/selenium_webdriver/selenium_page_object_spec.rb +0 -68
  190. data/spec/page-object/platforms/selenium_webdriver_spec.rb +0 -29
  191. data/spec/page-object/platforms/watir_webdriver/watir_page_object_spec.rb +0 -29
  192. data/spec/page-object/platforms/watir_webdriver_spec.rb +0 -9
  193. data/spec/page-object/selenium_accessors_spec.rb +0 -628
  194. data/spec/page-object/watir_accessors_spec.rb +0 -1191
  195. data/spec/page-object/widget_spec.rb +0 -226
  196. data/spec/spec_helper.rb +0 -43
@@ -1,1191 +0,0 @@
1
- require 'spec_helper'
2
-
3
- class WatirAccessorsTestPageObject
4
- include PageObject
5
-
6
- page_url "http://apple.com"
7
- expected_title "Expected Title"
8
- expected_element :google_search
9
- link(:google_search, :link => 'Google Search')
10
- text_field(:first_name, :id => 'first_name')
11
- hidden_field(:social_security_number, :id => 'ssn')
12
- text_area(:address, :id => 'address')
13
- select_list(:state, :id => 'state')
14
- checkbox(:active, :id => 'is_active_id')
15
- radio_button(:first, :id => 'first_choice')
16
- button(:click_me, :id => 'button_submit')
17
- div(:message, :id => 'message_id')
18
- table(:cart, :id => 'cart_id')
19
- cell(:total, :id => 'total')
20
- span(:alert_span, :id => 'alert_id')
21
- image(:logo, :id => 'logo')
22
- form(:login, :id => 'login')
23
- list_item(:item_one, :id => 'one')
24
- unordered_list(:menu, :id => 'main_menu')
25
- ordered_list(:top_five, :id => 'top')
26
- h1(:heading1, :id => 'main_heading')
27
- h2(:heading2, :id => 'main_heading')
28
- h3(:heading3, :id => 'main_heading')
29
- h4(:heading4, :id => 'main_heading')
30
- h5(:heading5, :id => 'main_heading')
31
- h6(:heading6, :id => 'main_heading')
32
- paragraph(:first_para, :id => 'first')
33
- file_field(:upload_me, :id => 'the_file')
34
- area(:img_area, :id => 'area')
35
- canvas(:my_canvas, :id => 'canvas_id')
36
- audio(:acdc, :id => 'audio_id')
37
- video(:movie, :id => 'video_id')
38
- b(:bold, :id => 'bold')
39
- i(:italic, :id => 'italic')
40
- end
41
-
42
- class WatirBlockPageObject
43
- include PageObject
44
-
45
- attr_reader :value
46
-
47
- text_field :first_name do |element|
48
- "text_field"
49
- end
50
- hidden_field :secret do |element|
51
- "hidden_field"
52
- end
53
- text_area :address do |element|
54
- "text_area"
55
- end
56
- select_list :state do |element|
57
- "select_list"
58
- end
59
- link :continue do |element|
60
- "link"
61
- end
62
- checkbox :active do |element|
63
- "checkbox"
64
- end
65
- radio_button :first do |element|
66
- "radio_button"
67
- end
68
- button :click_me do |element|
69
- "button"
70
- end
71
- div :footer do |element|
72
- "div"
73
- end
74
- span :alert_span do |element|
75
- "span"
76
- end
77
- table :cart do |element|
78
- "table"
79
- end
80
- cell :total do |element|
81
- "cell"
82
- end
83
- image :logo do |element|
84
- "image"
85
- end
86
- form :login do |element|
87
- "form"
88
- end
89
- list_item :item_one do |element|
90
- "list_item"
91
- end
92
- unordered_list :menu do |element|
93
- "unordered_list"
94
- end
95
- ordered_list :top_five do |element|
96
- "ordered_list"
97
- end
98
- h1 :heading1 do |element|
99
- "h1"
100
- end
101
- h2 :heading2 do |element|
102
- "h2"
103
- end
104
- h3 :heading3 do |element|
105
- "h3"
106
- end
107
- h4 :heading4 do |element|
108
- "h4"
109
- end
110
- h5 :heading5 do |element|
111
- "h5"
112
- end
113
- h6 :heading6 do |element|
114
- "h6"
115
- end
116
- paragraph :first_para do |element|
117
- "p"
118
- end
119
- file_field :a_file do |element|
120
- "file_field"
121
- end
122
- area :img_area do |element|
123
- "area"
124
- end
125
- canvas :my_canvas do |element|
126
- "canvas"
127
- end
128
- audio :acdc do |element|
129
- "audio"
130
- end
131
- video :movie do |element|
132
- "video"
133
- end
134
- b :bold do |element|
135
- "b"
136
- end
137
- i :italic do |element|
138
- "i"
139
- end
140
- end
141
-
142
- describe PageObject::Accessors do
143
- let(:watir_browser) { mock_watir_browser }
144
- let(:watir_page_object) { WatirAccessorsTestPageObject.new(watir_browser) }
145
- let(:block_page_object) { WatirBlockPageObject.new(watir_browser) }
146
-
147
- context "goto a page" do
148
-
149
- it "should navigate to a page when requested" do
150
- expect(watir_browser).to receive(:goto)
151
- WatirAccessorsTestPageObject.new(watir_browser, true)
152
- end
153
-
154
- it "should call a method when page_url called with a symbol" do
155
- class SymbolPageUrl
156
- include PageObject
157
- page_url :custom_url
158
-
159
- attr_reader :custom_url
160
- def initialize(b, v, url)
161
- @custom_url = url
162
- super(b, v)
163
- end
164
- end
165
- expect(watir_browser).to receive(:goto).with('custom')
166
- SymbolPageUrl.new(watir_browser, true, 'custom')
167
-
168
- expect(watir_browser).to receive(:goto).with('different')
169
- SymbolPageUrl.new(watir_browser, true, 'different')
170
- end
171
-
172
- it "should not navigate to a page when not requested" do
173
- expect(watir_browser).not_to receive(:goto)
174
- WatirAccessorsTestPageObject.new(watir_browser)
175
- end
176
-
177
- it "should not navigate to a page when 'page_url' not specified" do
178
- expect(watir_browser).not_to receive(:goto)
179
- WatirBlockPageObject.new(watir_browser, true)
180
- end
181
-
182
- it "should provide the page url" do
183
- expect(watir_page_object.page_url_value).to eql 'http://apple.com'
184
- end
185
- end
186
-
187
- context "validating the page title" do
188
- it "should validate the title" do
189
- expect(watir_browser).to receive(:title).and_return("Expected Title")
190
- expect(watir_page_object).to have_expected_title
191
- end
192
-
193
- it "should validate the by regexp" do
194
- class RegexpExpectedTitle
195
- include PageObject
196
- expected_title /\w+ \w+/
197
- end
198
- expect(watir_browser).to receive(:title).and_return("Expected Title")
199
- expect(RegexpExpectedTitle.new(watir_browser)).to have_expected_title
200
- end
201
-
202
- it "should raise error when it does not have expected title" do
203
- expect(watir_browser).to receive(:title).once.and_return("Not Expected")
204
- expect { watir_page_object.has_expected_title? }.to raise_error
205
- end
206
- end
207
-
208
- context "validating the existence of an element" do
209
- it "should validate an element exists" do
210
- expect(watir_page_object).to receive(:google_search_element).and_return(watir_browser)
211
- expect(watir_browser).to receive(:when_present).and_return(true)
212
- watir_page_object.has_expected_element?
213
- end
214
-
215
- it "should handle non-existent elements gracefully" do
216
- class FakePage
217
- include PageObject
218
- expected_element :foo
219
- end
220
- expect(FakePage.new(watir_browser)).not_to have_expected_element
221
- end
222
- end
223
-
224
- context "using element accessor" do
225
- class WatirDefaultElementTagToElement
226
- include PageObject
227
- # verify that the explicit :element tag can be omitted
228
- # element('button', :element, {:css => 'some css'})
229
- element('button', { :css => 'some css' })
230
- elements('button2', { :css => 'some css' })
231
- end
232
-
233
- let (:page) { WatirDefaultElementTagToElement.new(watir_browser) }
234
-
235
- def mock_driver_for(tag)
236
- expect(watir_browser).to receive(tag).with(:css => 'some css').and_return(watir_browser)
237
- end
238
-
239
- it "should default element tag to element" do
240
- mock_driver_for :element
241
- page.button_element
242
- end
243
-
244
- it "should default elements tag to element" do
245
- mock_driver_for :elements
246
- expect(watir_browser).to receive(:map).and_return([])
247
- page.button2_elements.to_a
248
- end
249
- end
250
-
251
- context "using default identifiers" do
252
- class WatirDefaultIdentifier
253
- include PageObject
254
- text_field(:default_tf)
255
- hidden_field(:default_hf)
256
- text_area(:default_ta)
257
- select_list(:default_sl)
258
- link(:default_link)
259
- checkbox(:default_cb)
260
- radio_button(:default_rb)
261
- button(:default_but)
262
- div(:default_div)
263
- span(:default_span)
264
- table(:default_tab)
265
- cell(:default_cell)
266
- image(:default_im)
267
- form(:default_form)
268
- list_item(:default_li)
269
- unordered_list(:default_ul)
270
- ordered_list(:default_ol)
271
- h1(:default_h1)
272
- h2(:default_h2)
273
- h3(:default_h3)
274
- h4(:default_h4)
275
- h5(:default_h5)
276
- h6(:default_h6)
277
- paragraph(:default_p)
278
- file_field(:default_ff)
279
- label(:default_lab)
280
- element(:default_el, :audio)
281
- end
282
-
283
- let(:default_identifier) { WatirDefaultIdentifier.new(watir_browser) }
284
-
285
- def mock_driver_for(tag)
286
- expect(watir_browser).to receive(tag).with(:index => 0).and_return(watir_browser)
287
- allow(watir_browser).to receive(:exists?).with(no_args)
288
- end
289
-
290
- it "should work with a text_field" do
291
- mock_driver_for :text_field
292
- default_identifier.default_tf?
293
- end
294
-
295
- it "should work with a hidden field" do
296
- mock_driver_for :hidden
297
- default_identifier.default_hf?
298
- end
299
-
300
- it "should work with a text area" do
301
- mock_driver_for :textarea
302
- default_identifier.default_ta?
303
- end
304
-
305
- it "should work with a select list" do
306
- mock_driver_for :select_list
307
- default_identifier.default_sl?
308
- end
309
-
310
- it "should work with a link" do
311
- mock_driver_for :link
312
- default_identifier.default_link?
313
- end
314
-
315
- it "should work with a checkbox" do
316
- mock_driver_for :checkbox
317
- default_identifier.default_cb?
318
- end
319
-
320
- it "should work with a radio button" do
321
- mock_driver_for :radio
322
- default_identifier.default_rb?
323
- end
324
-
325
- it "should work with a button" do
326
- mock_driver_for :button
327
- default_identifier.default_but?
328
- end
329
-
330
- it "should work with a div" do
331
- mock_driver_for :div
332
- default_identifier.default_div?
333
- end
334
-
335
- it "should work with a span" do
336
- mock_driver_for :span
337
- default_identifier.default_span?
338
- end
339
-
340
- it "should work for a table" do
341
- mock_driver_for :table
342
- expect(default_identifier.default_tab_element).not_to be_nil
343
- end
344
-
345
- it "should work for a cell" do
346
- mock_driver_for :td
347
- default_identifier.default_cell?
348
- end
349
-
350
- it "should work for an image" do
351
- mock_driver_for :image
352
- default_identifier.default_im?
353
- end
354
-
355
- it "should work for a form" do
356
- mock_driver_for :form
357
- default_identifier.default_form?
358
- end
359
-
360
- it "should work for a list item" do
361
- mock_driver_for :li
362
- default_identifier.default_li?
363
- end
364
-
365
- it "should work for unordered lists" do
366
- mock_driver_for :ul
367
- default_identifier.default_ul?
368
- end
369
-
370
- it "should work for ordered lists" do
371
- mock_driver_for :ol
372
- default_identifier.default_ol?
373
- end
374
-
375
- it "should work for h1" do
376
- mock_driver_for :h1
377
- default_identifier.default_h1?
378
- end
379
-
380
- it "should work for h2" do
381
- mock_driver_for :h2
382
- default_identifier.default_h2?
383
- end
384
-
385
- it "should work for h3" do
386
- mock_driver_for :h3
387
- default_identifier.default_h3?
388
- end
389
-
390
- it "should work for a h4" do
391
- mock_driver_for :h4
392
- default_identifier.default_h4?
393
- end
394
-
395
- it "should work for a h5" do
396
- mock_driver_for :h5
397
- default_identifier.default_h5?
398
- end
399
-
400
- it "should work for a h6" do
401
- mock_driver_for :h6
402
- default_identifier.default_h6?
403
- end
404
-
405
- it "should work with a paragraph" do
406
- mock_driver_for :p
407
- default_identifier.default_p?
408
- end
409
-
410
- it "should work with a file_field" do
411
- mock_driver_for :file_field
412
- default_identifier.default_ff?
413
- end
414
-
415
- it "should work with a label" do
416
- mock_driver_for :label
417
- default_identifier.default_lab?
418
- end
419
-
420
- it "should work with an element" do
421
- mock_driver_for :audio
422
- default_identifier.default_el?
423
- end
424
-
425
- end
426
-
427
- context "link accessors" do
428
- context "when called on a page object" do
429
- it "should generate accessor methods" do
430
- expect(watir_page_object).to respond_to(:google_search)
431
- expect(watir_page_object).to respond_to(:google_search_element)
432
- end
433
-
434
- it "should call a block on the element method when present" do
435
- expect(block_page_object.continue_element).to eql "link"
436
- end
437
- end
438
-
439
- it "should select a link" do
440
- expect(watir_browser).to receive_messages(link: watir_browser, click: watir_browser)
441
- watir_page_object.google_search
442
- end
443
-
444
- it "should return a link element" do
445
- expect(watir_browser).to receive(:link).and_return(watir_browser)
446
- element = watir_page_object.google_search_element
447
- expect(element).to be_instance_of PageObject::Elements::Link
448
- end
449
- end
450
-
451
-
452
- describe "text_field accessors" do
453
- context "when called on a page object" do
454
- it "should generate accessor methods" do
455
- expect(watir_page_object).to respond_to(:first_name)
456
- expect(watir_page_object).to respond_to(:first_name=)
457
- expect(watir_page_object).to respond_to(:first_name_element)
458
- expect(watir_page_object).to respond_to(:first_name?)
459
- end
460
-
461
- it "should call a block on the element method when present" do
462
- expect(block_page_object.first_name_element).to eql "text_field"
463
- end
464
- end
465
-
466
- it "should get the text from the text field element" do
467
- expect(watir_browser).to receive(:text_field).and_return(watir_browser)
468
- expect(watir_browser).to receive(:value).and_return('Kim')
469
- expect(watir_page_object.first_name).to eql 'Kim'
470
- end
471
-
472
- it "should set some text on a text field element" do
473
- expect(watir_browser).to receive(:text_field).and_return(watir_browser)
474
- expect(watir_browser).to receive(:set).with('Kim')
475
- watir_page_object.first_name = 'Kim'
476
- end
477
-
478
- it "should retrieve a text field element" do
479
- expect(watir_browser).to receive(:text_field).and_return(watir_browser)
480
- element = watir_page_object.first_name_element
481
- expect(element).to be_instance_of PageObject::Elements::TextField
482
- end
483
- end
484
-
485
-
486
- describe "hidden field accessors" do
487
- context "when called on a page object" do
488
- it "should generate accessor methods" do
489
- expect(watir_page_object).to respond_to(:social_security_number)
490
- expect(watir_page_object).to respond_to(:social_security_number_element)
491
- end
492
-
493
- it "should call a block on the element method when present" do
494
- expect(block_page_object.secret_element).to eql "hidden_field"
495
- end
496
- end
497
-
498
- it "should get the text from a hidden field" do
499
- expect(watir_browser).to receive(:hidden).and_return(watir_browser)
500
- expect(watir_browser).to receive(:value).and_return("value")
501
- expect(watir_page_object.social_security_number).to eql "value"
502
- end
503
-
504
- it "should retrieve a hidden field element" do
505
- expect(watir_browser).to receive(:hidden).and_return(watir_browser)
506
- element = watir_page_object.social_security_number_element
507
- expect(element).to be_instance_of(PageObject::Elements::HiddenField)
508
- end
509
- end
510
-
511
- describe "text area accessors" do
512
- context "when called on a page object" do
513
- it "should generate accessor methods" do
514
- expect(watir_page_object).to respond_to(:address)
515
- expect(watir_page_object).to respond_to(:address=)
516
- expect(watir_page_object).to respond_to(:address_element)
517
- end
518
-
519
- it "should call a block on the element method when present" do
520
- expect(block_page_object.address_element).to eql "text_area"
521
- end
522
- end
523
-
524
- it "should set some text on the text area" do
525
- expect(watir_browser).to receive(:textarea).and_return(watir_browser)
526
- expect(watir_browser).to receive(:set).with("123 main street")
527
- watir_page_object.address = "123 main street"
528
- end
529
-
530
- it "should get the text from the text area" do
531
- expect(watir_browser).to receive(:textarea).and_return(watir_browser)
532
- expect(watir_browser).to receive(:value).and_return("123 main street")
533
- expect(watir_page_object.address).to eql "123 main street"
534
- end
535
-
536
- it "should retrieve a text area element" do
537
- expect(watir_browser).to receive(:textarea).and_return(watir_browser)
538
- element = watir_page_object.address_element
539
- expect(element).to be_instance_of PageObject::Elements::TextArea
540
- end
541
- end
542
-
543
- describe "select_list accessors" do
544
- context "when called on a page object" do
545
- it "should generate accessor methods" do
546
- expect(watir_page_object).to respond_to :state
547
- expect(watir_page_object).to respond_to :state=
548
- expect(watir_page_object).to respond_to(:state_element)
549
- end
550
-
551
- it "should call a block on the element method when present" do
552
- expect(block_page_object.state_element).to eql "select_list"
553
- end
554
- end
555
-
556
- it "should get the current item from a select list" do
557
- selected = "OH"
558
- expect(selected).to receive(:selected?).and_return(selected)
559
- expect(selected).to receive(:text).and_return("OH")
560
- expect(watir_browser).to receive(:select_list).and_return watir_browser
561
- expect(watir_browser).to receive(:options).and_return([selected])
562
- expect(watir_page_object.state).to eql "OH"
563
- end
564
-
565
- it "should set the current item of a select list" do
566
- expect(watir_browser).to receive(:select_list).and_return watir_browser
567
- expect(watir_browser).to receive(:select).with("OH")
568
- watir_page_object.state = "OH"
569
- end
570
-
571
- it "should retreive the select list element" do
572
- expect(watir_browser).to receive(:select_list).and_return(watir_browser)
573
- element = watir_page_object.state_element
574
- expect(element).to be_instance_of PageObject::Elements::SelectList
575
- end
576
-
577
- it "should return list of selection options" do
578
- option1 = double('option')
579
- option2 = double('option')
580
- expect(option1).to receive(:text).and_return("CA")
581
- expect(option2).to receive(:text).and_return("OH")
582
-
583
- select_element = double("select")
584
- expect(select_element).to receive(:options).twice.and_return([option1, option2])
585
- expect(watir_page_object).to receive(:state_element).and_return(select_element)
586
-
587
- expect(watir_page_object.state_options).to eql ["CA","OH"]
588
- end
589
- end
590
-
591
- describe "check_box accessors" do
592
- context "when called on a page object" do
593
- it "should generate accessor methods" do
594
- expect(watir_page_object).to respond_to :check_active
595
- expect(watir_page_object).to respond_to :uncheck_active
596
- expect(watir_page_object).to respond_to :active_checked?
597
- expect(watir_page_object).to respond_to :active_element
598
- end
599
-
600
- it "should call a block on the element method when present" do
601
- expect(block_page_object.active_element).to eql "checkbox"
602
- end
603
- end
604
-
605
- it "should check a check box element" do
606
- expect(watir_browser).to receive(:checkbox).and_return(watir_browser)
607
- expect(watir_browser).to receive(:set)
608
- watir_page_object.check_active
609
- end
610
-
611
- it "should clear a check box element" do
612
- expect(watir_browser).to receive(:checkbox).and_return(watir_browser)
613
- expect(watir_browser).to receive(:clear)
614
- watir_page_object.uncheck_active
615
- end
616
-
617
- it "should know if a check box element is selected" do
618
- expect(watir_browser).to receive(:checkbox).and_return(watir_browser)
619
- expect(watir_browser).to receive(:set?).and_return(true)
620
- expect(watir_page_object.active_checked?).to be true
621
- end
622
-
623
- it "should retrieve a checkbox element" do
624
- expect(watir_browser).to receive(:checkbox).and_return(watir_browser)
625
- element = watir_page_object.active_element
626
- expect(element).to be_instance_of PageObject::Elements::CheckBox
627
- end
628
- end
629
-
630
-
631
- describe "radio accessors" do
632
- context "when called on a page object" do
633
- it "should generate accessor methods" do
634
- expect(watir_page_object).to respond_to :select_first
635
- expect(watir_page_object).to respond_to :first_selected?
636
- expect(watir_page_object).to respond_to(:first_element)
637
- end
638
-
639
- it "should call a block on the element method when present" do
640
- expect(block_page_object.first_element).to eql "radio_button"
641
- end
642
- end
643
-
644
- it "should select a radio button" do
645
- expect(watir_browser).to receive(:radio).and_return(watir_browser)
646
- expect(watir_browser).to receive(:set)
647
- watir_page_object.select_first
648
- end
649
-
650
- it "should determine if a radio is selected" do
651
- expect(watir_browser).to receive(:radio).and_return(watir_browser)
652
- expect(watir_browser).to receive(:set?)
653
- watir_page_object.first_selected?
654
- end
655
-
656
- it "should retrieve a radio button element" do
657
- expect(watir_browser).to receive(:radio).and_return(watir_browser)
658
- element = watir_page_object.first_element
659
- expect(element).to be_instance_of PageObject::Elements::RadioButton
660
- end
661
- end
662
-
663
- describe "button accessors" do
664
- context "when called on a page object" do
665
- it "should generate accessor methods" do
666
- expect(watir_page_object).to respond_to :click_me
667
- expect(watir_page_object).to respond_to :click_me_element
668
- end
669
-
670
- it "should call a block on the element method when present" do
671
- expect(block_page_object.click_me_element).to eql "button"
672
- end
673
- end
674
-
675
- it "should be able to click a button" do
676
- expect(watir_browser).to receive(:button).and_return(watir_browser)
677
- expect(watir_browser).to receive(:click)
678
- watir_page_object.click_me
679
- end
680
-
681
- it "should retrieve a button element" do
682
- expect(watir_browser).to receive(:button).and_return(watir_browser)
683
- element = watir_page_object.click_me_element
684
- expect(element).to be_instance_of PageObject::Elements::Button
685
- end
686
- end
687
-
688
- describe "div accessors" do
689
- context "when called on a page object" do
690
- it "should generate accessor methods" do
691
- expect(watir_page_object).to respond_to(:message)
692
- expect(watir_page_object).to respond_to(:message_element)
693
- end
694
-
695
- it "should call a block on the element method when present" do
696
- expect(block_page_object.footer_element).to eql "div"
697
- end
698
- end
699
-
700
- it "should retrieve the text from a div" do
701
- expect(watir_browser).to receive(:div).and_return(watir_browser)
702
- expect(watir_browser).to receive(:text).and_return("Message from div")
703
- expect(watir_page_object.message).to eql "Message from div"
704
- end
705
-
706
- it "should retrieve the div element from the page" do
707
- expect(watir_browser).to receive(:div).and_return(watir_browser)
708
- element = watir_page_object.message_element
709
- expect(element).to be_instance_of PageObject::Elements::Div
710
- end
711
- end
712
-
713
- describe "span accessors" do
714
- context "when called on a page object" do
715
- it "should generate accessor methods" do
716
- expect(watir_page_object).to respond_to(:alert_span)
717
- expect(watir_page_object).to respond_to(:alert_span_element)
718
- end
719
-
720
- it "should call a block on the element method when present" do
721
- expect(block_page_object.alert_span_element).to eql "span"
722
- end
723
- end
724
-
725
- it "should retrieve the text from a span" do
726
- expect(watir_browser).to receive(:span).and_return(watir_browser)
727
- expect(watir_browser).to receive(:text).and_return("Alert")
728
- expect(watir_page_object.alert_span).to eql "Alert"
729
- end
730
-
731
- it "should retrieve the span element from the page" do
732
- expect(watir_browser).to receive(:span).and_return(watir_browser)
733
- element = watir_page_object.alert_span_element
734
- expect(element).to be_instance_of PageObject::Elements::Span
735
- end
736
- end
737
-
738
- describe "table accessors" do
739
- context "when called on a page object" do
740
- it "should generate accessor methods" do
741
- expect(watir_page_object).to respond_to(:cart)
742
- expect(watir_page_object).to respond_to(:cart_element)
743
- end
744
-
745
- it "should call a block on the element method when present" do
746
- expect(block_page_object.cart_element).to eql "table"
747
- end
748
- end
749
-
750
- it "should retrieve the table element from the page" do
751
- expect(watir_browser).to receive(:table).and_return(watir_browser)
752
- element = watir_page_object.cart_element
753
- expect(element).to be_instance_of PageObject::Elements::Table
754
- end
755
- end
756
-
757
- describe "table cell accessors" do
758
- context "when called on a page object" do
759
- it "should generate accessor methods" do
760
- expect(watir_page_object).to respond_to(:total)
761
- expect(watir_page_object).to respond_to(:total_element)
762
- end
763
-
764
- it "should call a block on the element method when present" do
765
- expect(block_page_object.total_element).to eql "cell"
766
- end
767
- end
768
-
769
- it "should retrieve the text for the cell" do
770
- expect(watir_browser).to receive(:td).and_return(watir_browser)
771
- expect(watir_browser).to receive(:text).and_return('10.00')
772
- expect(watir_page_object.total).to eql '10.00'
773
- end
774
-
775
- it "should retrieve the cell element from the page" do
776
- expect(watir_browser).to receive(:td).and_return(watir_browser)
777
- element = watir_page_object.total_element
778
- expect(element).to be_instance_of PageObject::Elements::TableCell
779
- end
780
- end
781
-
782
- describe "image accessors" do
783
- context "when called on a page object" do
784
- it "should generate accessor methods" do
785
- expect(watir_page_object).to respond_to(:logo_element)
786
- end
787
-
788
- it "should call a block on the element method when present" do
789
- expect(block_page_object.logo_element).to eql "image"
790
- end
791
- end
792
-
793
- it "should retrieve the image element from the page" do
794
- expect(watir_browser).to receive(:image).and_return(watir_browser)
795
- element = watir_page_object.logo_element
796
- expect(element).to be_instance_of PageObject::Elements::Image
797
- end
798
- end
799
-
800
- describe "form accessors" do
801
- context "when called on a page object" do
802
- it "should generate accessor methods" do
803
- expect(watir_page_object).to respond_to(:login_element)
804
- end
805
-
806
- it "should call a block on the element method when present" do
807
- expect(block_page_object.login_element).to eql "form"
808
- end
809
- end
810
-
811
- it "should retrieve the form element from the page" do
812
- expect(watir_browser).to receive(:form).and_return(watir_browser)
813
- element = watir_page_object.login_element
814
- expect(element).to be_instance_of PageObject::Elements::Form
815
- end
816
- end
817
-
818
- describe "list item accessors" do
819
- context "when called on a page object" do
820
- it "should generate accessor methods" do
821
- expect(watir_page_object).to respond_to(:item_one)
822
- expect(watir_page_object).to respond_to(:item_one_element)
823
- end
824
-
825
- it "should call a block on the element method when present" do
826
- expect(block_page_object.item_one_element).to eql "list_item"
827
- end
828
- end
829
-
830
- it "should retrieve the text from the list item" do
831
- expect(watir_browser).to receive(:li).and_return(watir_browser)
832
- expect(watir_browser).to receive(:text).and_return("value")
833
- expect(watir_page_object.item_one).to eql "value"
834
- end
835
-
836
- it "should retrieve the list item element from the page" do
837
- expect(watir_browser).to receive(:li).and_return(watir_browser)
838
- element = watir_page_object.item_one_element
839
- expect(element).to be_instance_of PageObject::Elements::ListItem
840
- end
841
- end
842
-
843
- describe "unordered list accessors" do
844
- context "when called on a page object" do
845
- it "should generate accessor methods" do
846
- expect(watir_page_object).to respond_to(:menu_element)
847
- end
848
-
849
- it "should call a block on the element method when present" do
850
- expect(block_page_object.menu_element).to eql "unordered_list"
851
- end
852
- end
853
-
854
- it "should retrieve the element from the page" do
855
- expect(watir_browser).to receive(:ul).and_return(watir_browser)
856
- element = watir_page_object.menu_element
857
- expect(element).to be_instance_of PageObject::Elements::UnorderedList
858
- end
859
- end
860
-
861
- describe "ordered list accessors" do
862
- context "when called on a page object" do
863
- it "should generate accessor methods" do
864
- expect(watir_page_object).to respond_to(:top_five_element)
865
- end
866
-
867
- it "should call a block on the element method when present" do
868
- expect(block_page_object.top_five_element).to eql "ordered_list"
869
- end
870
- end
871
-
872
- it "should retrieve the element from the page" do
873
- expect(watir_browser).to receive(:ol).and_return(watir_browser)
874
- element = watir_page_object.top_five_element
875
- expect(element).to be_instance_of PageObject::Elements::OrderedList
876
- end
877
- end
878
-
879
- describe "h1 accessors" do
880
- context "when called on a page object" do
881
- it "should generate accessor methods" do
882
- expect(watir_page_object).to respond_to(:heading1)
883
- expect(watir_page_object).to respond_to(:heading1_element)
884
- end
885
-
886
- it "should call a block on the element method when present" do
887
- expect(block_page_object.heading1_element).to eql "h1"
888
- end
889
- end
890
-
891
- it "should retrieve the text from the h1" do
892
- expect(watir_browser).to receive(:h1).and_return(watir_browser)
893
- expect(watir_browser).to receive(:text).and_return("value")
894
- expect(watir_page_object.heading1).to eql "value"
895
- end
896
-
897
- it "should retrieve the element from the page" do
898
- expect(watir_browser).to receive(:h1).and_return(watir_browser)
899
- element = watir_page_object.heading1_element
900
- expect(element).to be_instance_of PageObject::Elements::Heading
901
- end
902
- end
903
-
904
- describe "h2 accessors" do
905
- context "when called on a page object" do
906
- it "should generate accessor methods" do
907
- expect(watir_page_object).to respond_to(:heading2)
908
- expect(watir_page_object).to respond_to(:heading2_element)
909
- end
910
-
911
- it "should call a block on the element method when present" do
912
- expect(block_page_object.heading2_element).to eql "h2"
913
- end
914
- end
915
-
916
- it "should retrieve the text from the h2" do
917
- expect(watir_browser).to receive(:h2).and_return(watir_browser)
918
- expect(watir_browser).to receive(:text).and_return("value")
919
- expect(watir_page_object.heading2).to eql "value"
920
- end
921
-
922
- it "should retrieve the element from the page" do
923
- expect(watir_browser).to receive(:h2).and_return(watir_browser)
924
- element = watir_page_object.heading2_element
925
- expect(element).to be_instance_of PageObject::Elements::Heading
926
- end
927
- end
928
-
929
- describe "h3 accessors" do
930
- context "when called on a page object" do
931
- it "should generate accessor methods" do
932
- expect(watir_page_object).to respond_to(:heading3)
933
- expect(watir_page_object).to respond_to(:heading3_element)
934
- end
935
-
936
- it "should call a block on the element method when present" do
937
- expect(block_page_object.heading3_element).to eql "h3"
938
- end
939
- end
940
-
941
- it "should retrieve the text from the h3" do
942
- expect(watir_browser).to receive(:h3).and_return(watir_browser)
943
- expect(watir_browser).to receive(:text).and_return("value")
944
- expect(watir_page_object.heading3).to eql "value"
945
- end
946
-
947
- it "should retrieve the element from the page" do
948
- expect(watir_browser).to receive(:h3).and_return(watir_browser)
949
- element = watir_page_object.heading3_element
950
- expect(element).to be_instance_of PageObject::Elements::Heading
951
- end
952
- end
953
-
954
- describe "h4 accessors" do
955
- context "when called on a page object" do
956
- it "should generate accessor methods" do
957
- expect(watir_page_object).to respond_to(:heading4)
958
- expect(watir_page_object).to respond_to(:heading4_element)
959
- end
960
-
961
- it "should call a block on the element method when present" do
962
- expect(block_page_object.heading4_element).to eql "h4"
963
- end
964
- end
965
-
966
- it "should retrieve the text from the h4" do
967
- expect(watir_browser).to receive(:h4).and_return(watir_browser)
968
- expect(watir_browser).to receive(:text).and_return("value")
969
- expect(watir_page_object.heading4).to eql "value"
970
- end
971
-
972
- it "should retrieve the element from the page" do
973
- expect(watir_browser).to receive(:h4).and_return(watir_browser)
974
- element = watir_page_object.heading4_element
975
- expect(element).to be_instance_of PageObject::Elements::Heading
976
- end
977
- end
978
-
979
- describe "h5 accessors" do
980
- context "when called on a page object" do
981
- it "should generate accessor methods" do
982
- expect(watir_page_object).to respond_to(:heading5)
983
- expect(watir_page_object).to respond_to(:heading5_element)
984
- end
985
-
986
- it "should call a block on the element method when present" do
987
- expect(block_page_object.heading5_element).to eql "h5"
988
- end
989
- end
990
-
991
- it "should retrieve the text from the h5" do
992
- expect(watir_browser).to receive(:h5).and_return(watir_browser)
993
- expect(watir_browser).to receive(:text).and_return("value")
994
- expect(watir_page_object.heading5).to eql "value"
995
- end
996
-
997
- it "should retrieve the element from the page" do
998
- expect(watir_browser).to receive(:h5).and_return(watir_browser)
999
- element = watir_page_object.heading5_element
1000
- expect(element).to be_instance_of PageObject::Elements::Heading
1001
- end
1002
- end
1003
-
1004
- describe "h6 accessors" do
1005
- context "when called on a page object" do
1006
- it "should generate accessor methods" do
1007
- expect(watir_page_object).to respond_to(:heading6)
1008
- expect(watir_page_object).to respond_to(:heading6_element)
1009
- end
1010
-
1011
- it "should call a block on the element method when present" do
1012
- expect(block_page_object.heading6_element).to eql "h6"
1013
- end
1014
- end
1015
-
1016
- it "should retrieve the text from the h6" do
1017
- expect(watir_browser).to receive(:h6).and_return(watir_browser)
1018
- expect(watir_browser).to receive(:text).and_return("value")
1019
- expect(watir_page_object.heading6).to eql "value"
1020
- end
1021
-
1022
- it "should retrieve the element from the page" do
1023
- expect(watir_browser).to receive(:h6).and_return(watir_browser)
1024
- element = watir_page_object.heading6_element
1025
- expect(element).to be_instance_of PageObject::Elements::Heading
1026
- end
1027
- end
1028
-
1029
-
1030
- describe "p accessors" do
1031
- context "when called on a page object" do
1032
- it "should generate accessor methods" do
1033
- expect(watir_page_object).to respond_to(:first_para)
1034
- expect(watir_page_object).to respond_to(:first_para_element)
1035
- end
1036
-
1037
- it "should call a block on the element method when present" do
1038
- expect(block_page_object.first_para_element).to eql "p"
1039
- end
1040
- end
1041
-
1042
- it "should retrieve the text from the p" do
1043
- expect(watir_browser).to receive(:p).and_return(watir_browser)
1044
- expect(watir_browser).to receive(:text).and_return("value")
1045
- expect(watir_page_object.first_para).to eql "value"
1046
- end
1047
-
1048
- it "should retrieve the element from the page" do
1049
- expect(watir_browser).to receive(:p).and_return(watir_browser)
1050
- element = watir_page_object.first_para_element
1051
- expect(element).to be_instance_of PageObject::Elements::Paragraph
1052
- end
1053
- end
1054
-
1055
- describe "file_field accessors" do
1056
- context "when called on a page object" do
1057
- it "should generate accessor methods" do
1058
- expect(watir_page_object).to respond_to(:upload_me=)
1059
- expect(watir_page_object).to respond_to(:upload_me_element)
1060
- end
1061
-
1062
- it "should call a block on the element method when present" do
1063
- expect(block_page_object.a_file_element).to eql "file_field"
1064
- end
1065
- end
1066
-
1067
- it "should set the file name" do
1068
- expect(watir_browser).to receive(:file_field).and_return(watir_browser)
1069
- expect(watir_browser).to receive(:set).with('some_file')
1070
- watir_page_object.upload_me = 'some_file'
1071
- end
1072
-
1073
- it "should retrieve a text field element" do
1074
- expect(watir_browser).to receive(:file_field).and_return(watir_browser)
1075
- element = watir_page_object.upload_me_element
1076
- expect(element).to be_instance_of PageObject::Elements::FileField
1077
- end
1078
- end
1079
-
1080
- describe "area accessors" do
1081
- context "when called on a page object" do
1082
- it "should generate accessor methods" do
1083
- expect(watir_page_object).to respond_to(:img_area)
1084
- expect(watir_page_object).to respond_to(:img_area_element)
1085
- end
1086
-
1087
- it "should call a block on the element method when present" do
1088
- expect(block_page_object.img_area_element).to eql "area"
1089
- end
1090
- end
1091
-
1092
- it "should click on the area" do
1093
- expect(watir_browser).to receive(:area).and_return(watir_browser)
1094
- expect(watir_browser).to receive(:click)
1095
- watir_page_object.img_area
1096
- end
1097
-
1098
- it "should retrieve the element from the page" do
1099
- expect(watir_browser).to receive(:area).and_return(watir_browser)
1100
- element = watir_page_object.img_area_element
1101
- expect(element).to be_instance_of PageObject::Elements::Area
1102
- end
1103
- end
1104
-
1105
- describe "canvas accessors" do
1106
- context "when called on a page object" do
1107
- it "should generate accessor methods" do
1108
- expect(watir_page_object).to respond_to(:my_canvas_element)
1109
- end
1110
-
1111
- it "should call a block on the element method when present" do
1112
- expect(block_page_object.my_canvas_element).to eql "canvas"
1113
- end
1114
- end
1115
- end
1116
-
1117
- describe "audio accessors" do
1118
- context "when called on a page object" do
1119
- it "should generate accessor methods" do
1120
- expect(watir_page_object).to respond_to(:acdc_element)
1121
- end
1122
-
1123
- it "should call a block on the element method when present" do
1124
- expect(block_page_object.acdc_element).to eql "audio"
1125
- end
1126
- end
1127
- end
1128
-
1129
- describe "video accessors" do
1130
- context "when called on a page object" do
1131
- it "should generate accessor methods" do
1132
- expect(watir_page_object).to respond_to(:movie_element)
1133
- end
1134
-
1135
- it "should call a block on the element method when present" do
1136
- expect(block_page_object.movie_element).to eql "video"
1137
- end
1138
- end
1139
- end
1140
-
1141
- describe "b accessors" do
1142
- context "when called on a page object" do
1143
- it "should generate accessor methods" do
1144
- expect(watir_page_object).to respond_to(:bold)
1145
- expect(watir_page_object).to respond_to(:bold_element)
1146
- end
1147
-
1148
- it "should call a block on the element method when present" do
1149
- expect(block_page_object.bold_element).to eql "b"
1150
- end
1151
- end
1152
-
1153
- it "should retrieve the text from the b" do
1154
- expect(watir_browser).to receive(:b).and_return(watir_browser)
1155
- expect(watir_browser).to receive(:text).and_return("value")
1156
- expect(watir_page_object.bold).to eql "value"
1157
- end
1158
-
1159
- it "should retrieve the element from the page" do
1160
- expect(watir_browser).to receive(:b).and_return(watir_browser)
1161
- element = watir_page_object.bold_element
1162
- expect(element).to be_instance_of PageObject::Elements::Bold
1163
- end
1164
- end
1165
-
1166
- describe "i accessors" do
1167
- context "when called on a page object" do
1168
- it "should generate accessor methods" do
1169
- expect(watir_page_object).to respond_to(:italic)
1170
- expect(watir_page_object).to respond_to(:italic_element)
1171
- end
1172
-
1173
- it "should call a block on the element method when present" do
1174
- expect(block_page_object.italic_element).to eql "i"
1175
- end
1176
- end
1177
-
1178
- it "should retrieve the text from the i" do
1179
- expect(watir_browser).to receive(:i).and_return(watir_browser)
1180
- expect(watir_browser).to receive(:text).and_return("value")
1181
- expect(watir_page_object.italic).to eql "value"
1182
- end
1183
-
1184
- it "should retrieve the element from the page" do
1185
- expect(watir_browser).to receive(:i).and_return(watir_browser)
1186
- element = watir_page_object.italic_element
1187
- expect(element).to be_instance_of PageObject::Elements::Italic
1188
- end
1189
- end
1190
-
1191
- end