page-object 0.2 → 0.2.1

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 (134) hide show
  1. data/.gitignore +1 -0
  2. data/.rvmrc +1 -1
  3. data/ChangeLog +12 -6
  4. data/README.md +1 -1
  5. data/Rakefile +3 -19
  6. data/features/async.feature +8 -8
  7. data/features/button.feature +7 -7
  8. data/features/check_box.feature +8 -8
  9. data/features/div.feature +7 -6
  10. data/features/element_attributes.feature +14 -14
  11. data/features/form.feature +5 -5
  12. data/features/frames.feature +12 -0
  13. data/features/hidden_field.feature +5 -5
  14. data/features/html/frame_1.html +18 -0
  15. data/features/html/frame_2.html +16 -0
  16. data/features/html/frames.html +11 -0
  17. data/features/html/iframes.html +12 -0
  18. data/features/html/static_elements.html +50 -42
  19. data/features/html/success.html +5 -5
  20. data/features/image.feature +11 -11
  21. data/features/link.feature +1 -1
  22. data/features/list_item.feature +5 -5
  23. data/features/ordered_list.feature +6 -6
  24. data/features/page_level_actions.feature +16 -5
  25. data/features/radio_button.feature +12 -12
  26. data/features/select_list.feature +12 -12
  27. data/features/span.feature +5 -5
  28. data/features/step_definitions/accessor_steps.rb +2 -2
  29. data/features/step_definitions/async_steps.rb +1 -1
  30. data/features/step_definitions/element_steps.rb +1 -1
  31. data/features/step_definitions/frames_steps.rb +21 -0
  32. data/features/step_definitions/page_level_actions_steps.rb +24 -2
  33. data/features/step_definitions/page_traversal_steps.rb +0 -1
  34. data/features/support/env.rb +20 -6
  35. data/features/support/page.rb +14 -11
  36. data/features/support/url_helper.rb +4 -0
  37. data/features/table.feature +9 -9
  38. data/features/table_cell.feature +6 -6
  39. data/features/text_area.feature +6 -6
  40. data/features/text_field.feature +7 -7
  41. data/features/unordered_list.feature +6 -6
  42. data/lib/page-object.rb +40 -16
  43. data/lib/page-object/accessors.rb +15 -15
  44. data/lib/page-object/elements.rb +0 -1
  45. data/lib/page-object/elements/button.rb +24 -24
  46. data/lib/page-object/elements/div.rb +8 -3
  47. data/lib/page-object/elements/element.rb +27 -28
  48. data/lib/page-object/elements/form.rb +7 -7
  49. data/lib/page-object/elements/hidden_field.rb +5 -5
  50. data/lib/page-object/elements/image.rb +8 -8
  51. data/lib/page-object/elements/link.rb +9 -9
  52. data/lib/page-object/elements/list_item.rb +1 -1
  53. data/lib/page-object/elements/option.rb +1 -1
  54. data/lib/page-object/elements/ordered_list.rb +13 -13
  55. data/lib/page-object/elements/select_list.rb +6 -6
  56. data/lib/page-object/elements/span.rb +2 -2
  57. data/lib/page-object/elements/table.rb +11 -11
  58. data/lib/page-object/elements/table_row.rb +9 -9
  59. data/lib/page-object/elements/text_area.rb +4 -4
  60. data/lib/page-object/elements/text_field.rb +4 -4
  61. data/lib/page-object/elements/unordered_list.rb +13 -13
  62. data/lib/page-object/loads_platform.rb +24 -0
  63. data/lib/page-object/page_factory.rb +3 -3
  64. data/lib/page-object/platforms.rb +18 -0
  65. data/lib/page-object/platforms/selenium.rb +16 -0
  66. data/lib/page-object/platforms/selenium/button.rb +15 -0
  67. data/lib/page-object/platforms/selenium/element.rb +168 -0
  68. data/lib/page-object/platforms/selenium/form.rb +16 -0
  69. data/lib/page-object/platforms/selenium/image.rb +28 -0
  70. data/lib/page-object/platforms/selenium/link.rb +16 -0
  71. data/lib/page-object/platforms/selenium/ordered_list.rb +33 -0
  72. data/lib/page-object/platforms/selenium/page_object.rb +524 -0
  73. data/lib/page-object/platforms/selenium/select_list.rb +32 -0
  74. data/lib/page-object/platforms/selenium/table.rb +40 -0
  75. data/lib/page-object/platforms/selenium/table_row.rb +32 -0
  76. data/lib/page-object/platforms/selenium/unordered_list.rb +33 -0
  77. data/lib/page-object/platforms/watir.rb +16 -0
  78. data/lib/page-object/platforms/watir/element.rb +154 -0
  79. data/lib/page-object/platforms/watir/form.rb +16 -0
  80. data/lib/page-object/platforms/watir/image.rb +22 -0
  81. data/lib/page-object/platforms/watir/ordered_list.rb +32 -0
  82. data/lib/page-object/{watir_page_object.rb → platforms/watir/page_object.rb} +62 -35
  83. data/lib/page-object/platforms/watir/select_list.rb +33 -0
  84. data/lib/page-object/platforms/watir/table.rb +27 -0
  85. data/lib/page-object/platforms/watir/table_row.rb +24 -0
  86. data/lib/page-object/platforms/watir/unordered_list.rb +33 -0
  87. data/lib/page-object/version.rb +1 -1
  88. data/page-object.gemspec +13 -13
  89. data/spec/page-object/accessors_spec.rb +142 -108
  90. data/spec/page-object/elements/button_spec.rb +33 -33
  91. data/spec/page-object/elements/check_box_spec.rb +1 -1
  92. data/spec/page-object/elements/div_spec.rb +3 -3
  93. data/spec/page-object/elements/element_spec.rb +51 -41
  94. data/spec/page-object/elements/form_spec.rb +3 -3
  95. data/spec/page-object/elements/hidden_field_spec.rb +3 -3
  96. data/spec/page-object/elements/image_spec.rb +7 -7
  97. data/spec/page-object/elements/link_spec.rb +8 -8
  98. data/spec/page-object/elements/list_item_spec.rb +1 -1
  99. data/spec/page-object/elements/ordered_list_spec.rb +9 -9
  100. data/spec/page-object/elements/radio_button_spec.rb +1 -1
  101. data/spec/page-object/elements/select_list_spec.rb +2 -2
  102. data/spec/page-object/elements/span_spec.rb +1 -1
  103. data/spec/page-object/elements/table_row_spec.rb +6 -6
  104. data/spec/page-object/elements/table_spec.rb +9 -9
  105. data/spec/page-object/elements/text_area_spec.rb +3 -3
  106. data/spec/page-object/elements/text_field_spec.rb +3 -3
  107. data/spec/page-object/elements/unordered_list_spec.rb +10 -10
  108. data/spec/page-object/loads_platform_spec.rb +38 -0
  109. data/spec/page-object/page-object_spec.rb +70 -10
  110. data/spec/page-object/page_factory_spec.rb +3 -3
  111. data/spec/page-object/{selenium_page_object_spec.rb → platforms/selenium/selenium_page_object_spec.rb} +10 -3
  112. data/spec/page-object/platforms/selenium_spec.rb +26 -0
  113. data/spec/page-object/platforms/watir_spec.rb +27 -0
  114. data/spec/spec_helper.rb +18 -5
  115. metadata +48 -26
  116. data/lib/page-object/platforms/selenium_button.rb +0 -13
  117. data/lib/page-object/platforms/selenium_element.rb +0 -142
  118. data/lib/page-object/platforms/selenium_form.rb +0 -14
  119. data/lib/page-object/platforms/selenium_image.rb +0 -26
  120. data/lib/page-object/platforms/selenium_link.rb +0 -13
  121. data/lib/page-object/platforms/selenium_ordered_list.rb +0 -31
  122. data/lib/page-object/platforms/selenium_select_list.rb +0 -29
  123. data/lib/page-object/platforms/selenium_table.rb +0 -38
  124. data/lib/page-object/platforms/selenium_table_row.rb +0 -29
  125. data/lib/page-object/platforms/selenium_unordered_list.rb +0 -31
  126. data/lib/page-object/platforms/watir_element.rb +0 -136
  127. data/lib/page-object/platforms/watir_form.rb +0 -14
  128. data/lib/page-object/platforms/watir_image.rb +0 -20
  129. data/lib/page-object/platforms/watir_ordered_list.rb +0 -30
  130. data/lib/page-object/platforms/watir_select_list.rb +0 -30
  131. data/lib/page-object/platforms/watir_table.rb +0 -24
  132. data/lib/page-object/platforms/watir_table_row.rb +0 -22
  133. data/lib/page-object/platforms/watir_unordered_list.rb +0 -31
  134. data/lib/page-object/selenium_page_object.rb +0 -486
@@ -1,34 +1,34 @@
1
- require 'spec_helper'
2
- require 'page-object/elements'
3
-
4
- describe PageObject::Elements::Button do
5
- let(:button) { PageObject::Elements::Button }
6
-
7
- context "when mapping how to find an element" do
8
- it "should map watir types to same" do
9
- [:class, :id, :index, :name, :xpath].each do |t|
10
- identifier = button.watir_identifier_for t => 'value'
11
- identifier.keys.first.should == t
12
- end
13
- end
14
-
15
- it "should map selenium types to same" do
16
- [:class, :id, :index, :name, :xpath].each do |t|
17
- key, value = button.selenium_identifier_for t => 'value'
18
- key.should == t
19
- end
20
- end
21
- end
22
-
23
- describe "interface" do
24
- let(:button_element) { double('button_element') }
25
-
26
- context "for selenium" do
27
- it "should return error when asked for its' text" do
28
- button = PageObject::Elements::Button.new(button_element, :platform => :selenium)
29
- lambda {button.text}.should raise_error
30
- end
31
- end
32
- end
33
-
1
+ require 'spec_helper'
2
+ require 'page-object/elements'
3
+
4
+ describe PageObject::Elements::Button do
5
+ let(:button) { PageObject::Elements::Button }
6
+
7
+ context "when mapping how to find an element" do
8
+ it "should map watir types to same" do
9
+ [:class, :id, :index, :name, :xpath].each do |t|
10
+ identifier = button.watir_identifier_for t => 'value'
11
+ identifier.keys.first.should == t
12
+ end
13
+ end
14
+
15
+ it "should map selenium types to same" do
16
+ [:class, :id, :index, :name, :xpath].each do |t|
17
+ key, value = button.selenium_identifier_for t => 'value'
18
+ key.should == t
19
+ end
20
+ end
21
+ end
22
+
23
+ describe "interface" do
24
+ let(:button_element) { double('button_element') }
25
+
26
+ context "for selenium" do
27
+ it "should return error when asked for its' text" do
28
+ button = PageObject::Elements::Button.new(button_element, :platform => :selenium)
29
+ lambda { button.text }.should raise_error
30
+ end
31
+ end
32
+ end
33
+
34
34
  end
@@ -3,7 +3,7 @@ require 'page-object/elements'
3
3
 
4
4
  describe PageObject::Elements::CheckBox do
5
5
  let(:checkbox) { PageObject::Elements::CheckBox }
6
-
6
+
7
7
  describe "when mapping how to find an element" do
8
8
  it "should map watir types to same" do
9
9
  [:class, :id, :index, :name, :xpath].each do |t|
@@ -3,17 +3,17 @@ require 'page-object/elements'
3
3
 
4
4
  describe PageObject::Elements::Div do
5
5
  let(:div) { PageObject::Elements::Div }
6
-
6
+
7
7
  describe "when mapping how to find an element" do
8
8
  it "should map watir types to same" do
9
- [:class, :id, :index, :xpath].each do |t|
9
+ [:class, :id, :text, :index, :xpath].each do |t|
10
10
  identifier = div.watir_identifier_for t => 'value'
11
11
  identifier.keys.first.should == t
12
12
  end
13
13
  end
14
14
 
15
15
  it "should map selenium types to same" do
16
- [:class, :id, :index, :name, :xpath].each do |t|
16
+ [:class, :id, :text, :index, :name, :xpath].each do |t|
17
17
  key, value = div.selenium_identifier_for t => 'value'
18
18
  key.should == t
19
19
  end
@@ -7,7 +7,7 @@ describe PageObject::Elements::Element do
7
7
  let(:selenium_driver) { double('selenium') }
8
8
  let(:watir_element) { PageObject::Elements::Element.new(watir_driver, :platform => :watir) }
9
9
  let(:selenium_element) { PageObject::Elements::Element.new(selenium_driver, :platform => :selenium) }
10
- let(:element) {PageObject::Elements::Element}
10
+ let(:element) { PageObject::Elements::Element }
11
11
 
12
12
  context "when building the identifiers for Watir" do
13
13
  it "should build xpath when finding elements by name where not supported" do
@@ -18,16 +18,16 @@ describe PageObject::Elements::Element do
18
18
  end
19
19
  end
20
20
  end
21
-
21
+
22
22
  context "when building the identifiers for Selenium" do
23
23
  def all_basic_elements
24
24
  ['textarea', 'select', 'a', 'div', 'span', 'table', 'td', 'img', 'form', 'li', 'ul', 'ol']
25
25
  end
26
-
26
+
27
27
  def all_input_elements
28
28
  ['text', 'hidden', 'checkbox', 'radio', 'submit']
29
29
  end
30
-
30
+
31
31
  it "should build xpath when index is provided for basic elements" do
32
32
  all_basic_elements.each do |tag|
33
33
  identifier = {:tag_name => tag, :index => 1}
@@ -36,7 +36,7 @@ describe PageObject::Elements::Element do
36
36
  what.should == ".//#{tag}[2]"
37
37
  end
38
38
  end
39
-
39
+
40
40
  it "should should build xpath when index is provided for input elements" do
41
41
  all_input_elements.each do |tag|
42
42
  identifier = {:tag_name => 'input', :type => tag, :index => 1}
@@ -45,7 +45,7 @@ describe PageObject::Elements::Element do
45
45
  what.should == ".//input[@type='#{tag}'][2]"
46
46
  end
47
47
  end
48
-
48
+
49
49
  it "should build xpath when locating basic elements by name and index" do
50
50
  all_basic_elements.each do |tag|
51
51
  identifier = {:tag_name => tag, :name => 'blah', :index => 0}
@@ -54,7 +54,7 @@ describe PageObject::Elements::Element do
54
54
  what.should == ".//#{tag}[@name='blah'][1]"
55
55
  end
56
56
  end
57
-
57
+
58
58
  it "should build xpath when locating input elements by name and index" do
59
59
  all_input_elements.each do |type|
60
60
  identifier = {:tag_name => 'input', :type => "#{type}", :name => 'blah', :index => 0}
@@ -63,14 +63,14 @@ describe PageObject::Elements::Element do
63
63
  what.should == ".//input[@type='#{type}' and @name='blah'][1]"
64
64
  end
65
65
  end
66
-
66
+
67
67
  it "should build xpath when locating basic elements by name and class" do
68
68
  all_basic_elements.each do |tag|
69
69
  identifier = {:tag_name => tag, :name => 'foo', :class => 'bar'}
70
70
  how, what = element.selenium_identifier_for identifier
71
71
  how.should == :xpath
72
72
  what.should == ".//#{tag}[@name='foo' and @class='bar']"
73
- end
73
+ end
74
74
  end
75
75
 
76
76
  it "should build xpath when locating input elements by name and class" do
@@ -78,7 +78,7 @@ describe PageObject::Elements::Element do
78
78
  identifier = {:tag_name => 'input', :type => "#{type}", :name => 'foo', :class => 'bar'}
79
79
  how, what = element.selenium_identifier_for identifier
80
80
  what.should == ".//input[@type='#{type}' and @name='foo' and @class='bar']"
81
- end
81
+ end
82
82
  end
83
83
  end
84
84
 
@@ -87,118 +87,123 @@ describe PageObject::Elements::Element do
87
87
  watir_driver.should_receive(:present?).and_return(true)
88
88
  watir_element.visible?.should == true
89
89
  end
90
-
90
+
91
91
  it "should know when it is not visible" do
92
92
  watir_driver.should_receive(:present?).and_return(false)
93
93
  watir_element.visible?.should == false
94
94
  end
95
-
95
+
96
96
  it "should know when it exists" do
97
97
  watir_driver.should_receive(:exists?).and_return(true)
98
98
  watir_element.exists?.should == true
99
99
  end
100
-
100
+
101
101
  it "should know when it does not exist" do
102
102
  watir_driver.should_receive(:exists?).and_return(false)
103
103
  watir_element.exists?.should == false
104
104
  end
105
-
105
+
106
106
  it "should be able to return the text contained in the element" do
107
107
  watir_driver.should_receive(:text).and_return("my text")
108
108
  watir_element.text.should == "my text"
109
109
  end
110
-
110
+
111
111
  it "should know when it is equal to another" do
112
112
  watir_driver.should_receive(:==).and_return(true)
113
113
  watir_element.should == watir_element
114
114
  end
115
-
115
+
116
116
  it "should return its tag name" do
117
117
  watir_driver.should_receive(:tag_name).and_return("h1")
118
118
  watir_element.tag_name.should == "h1"
119
119
  end
120
-
120
+
121
121
  it "should know its value" do
122
122
  watir_driver.should_receive(:value).and_return("value")
123
123
  watir_element.value.should == "value"
124
124
  end
125
-
125
+
126
126
  it "should know how to retrieve the value of an attribute" do
127
127
  watir_driver.should_receive(:attribute_value).and_return(true)
128
128
  watir_element.attribute("readonly").should be_true
129
129
  end
130
-
130
+
131
131
  it "should be clickable" do
132
132
  watir_driver.should_receive(:click)
133
133
  watir_element.click
134
134
  end
135
-
135
+
136
136
  it "should be able to block until it is present" do
137
137
  watir_driver.should_receive(:wait_until_present).with(10)
138
138
  watir_element.when_present(10)
139
139
  end
140
-
140
+
141
141
  it "should be able to block until it is visible" do
142
142
  Watir::Wait.should_receive(:until).with(10, "Element was not visible in 10 seconds")
143
143
  watir_element.when_visible(10)
144
144
  end
145
-
145
+
146
146
  it "should be able to block until it is not visible" do
147
147
  Watir::Wait.should_receive(:while).with(10, "Element still visible after 10 seconds")
148
148
  watir_element.when_not_visible(10)
149
149
  end
150
-
150
+
151
151
  it "should be able to block until a user define event fires true" do
152
152
  Watir::Wait.should_receive(:until).with(10, "Element blah")
153
153
  watir_element.wait_until(10, "Element blah") {}
154
154
  end
155
+
156
+ it "should send keys to the element" do
157
+ watir_driver.should_receive(:send_keys).with([:control, 'a'])
158
+ watir_element.send_keys([:control, 'a'])
159
+ end
155
160
  end
156
-
161
+
157
162
  context "when using Selenium" do
158
163
  it "should know when it is visible" do
159
164
  selenium_driver.should_receive(:displayed?).and_return(true)
160
165
  selenium_element.visible?.should == true
161
166
  end
162
-
167
+
163
168
  it "should know when it is not visible" do
164
169
  selenium_driver.should_receive(:displayed?).and_return(false)
165
170
  selenium_element.visible?.should == false
166
171
  end
167
-
172
+
168
173
  it "should know when it exists" do
169
- selenium_element.exists?.should == true
174
+ selenium_element.exists?.should == true
170
175
  end
171
-
176
+
172
177
  it "should know when it does not exist" do
173
178
  selenium_element = PageObject::Elements::Element.new(nil, :platform => :selenium)
174
179
  selenium_element.exists?.should == false
175
180
  end
176
-
181
+
177
182
  it "should be able to return the text contained in the element" do
178
183
  selenium_driver.should_receive(:text).and_return("my text")
179
184
  selenium_element.text.should == "my text"
180
185
  end
181
-
186
+
182
187
  it "should know when it is equal to another" do
183
188
  selenium_driver.should_receive(:==).and_return(true)
184
189
  selenium_element.should == selenium_element
185
190
  end
186
-
191
+
187
192
  it "should return its tag name" do
188
193
  selenium_driver.should_receive(:tag_name).and_return("h1")
189
194
  selenium_element.tag_name.should == "h1"
190
195
  end
191
-
196
+
192
197
  it "should know its value" do
193
198
  selenium_driver.should_receive(:attribute).with('value').and_return("value")
194
199
  selenium_element.value.should == "value"
195
200
  end
196
-
201
+
197
202
  it "should know how to retrieve the value of an attribute" do
198
203
  selenium_driver.should_receive(:attribute).and_return(true)
199
204
  selenium_element.attribute('readonly').should be_true
200
205
  end
201
-
206
+
202
207
  it "should be clickable" do
203
208
  selenium_driver.should_receive(:click)
204
209
  selenium_element.click
@@ -206,30 +211,35 @@ describe PageObject::Elements::Element do
206
211
 
207
212
  it "should be able to block until it is present" do
208
213
  wait = double('wait')
209
- Selenium::WebDriver::Wait.should_receive(:new).and_return(wait)
214
+ Object::Selenium::WebDriver::Wait.should_receive(:new).and_return(wait)
210
215
  wait.should_receive(:until)
211
216
  selenium_element.when_present(10)
212
217
  end
213
-
218
+
214
219
  it "should be able to block until it is visible" do
215
220
  wait = double('wait')
216
- Selenium::WebDriver::Wait.should_receive(:new).and_return(wait)
221
+ Object::Selenium::WebDriver::Wait.should_receive(:new).and_return(wait)
217
222
  wait.should_receive(:until)
218
223
  selenium_element.when_visible(10)
219
224
  end
220
-
225
+
221
226
  it "should be able to block until it is not visible" do
222
227
  wait = double('wait')
223
- Selenium::WebDriver::Wait.should_receive(:new).and_return(wait)
228
+ Object::Selenium::WebDriver::Wait.should_receive(:new).and_return(wait)
224
229
  wait.should_receive(:until)
225
230
  selenium_element.when_not_visible(10)
226
231
  end
227
-
232
+
228
233
  it "should be able to block until a user define event fires true" do
229
234
  wait = double('wait')
230
- Selenium::WebDriver::Wait.should_receive(:new).and_return(wait)
235
+ Object::Selenium::WebDriver::Wait.should_receive(:new).and_return(wait)
231
236
  wait.should_receive(:until)
232
237
  selenium_element.wait_until(10, "Element blah") {}
233
238
  end
239
+
240
+ it "should send keys to the element" do
241
+ selenium_driver.should_receive(:send_keys).with([:control, 'a'])
242
+ selenium_element.send_keys([:control, 'a'])
243
+ end
234
244
  end
235
245
  end
@@ -4,7 +4,7 @@ require 'page-object/elements'
4
4
  describe PageObject::Elements::Form do
5
5
  describe "interface" do
6
6
  let(:form_element) { double('form_element') }
7
-
7
+
8
8
  context "for watir" do
9
9
  it "should submit a form" do
10
10
  form = PageObject::Elements::Form.new(form_element, :platform => :watir)
@@ -12,13 +12,13 @@ describe PageObject::Elements::Form do
12
12
  form.submit
13
13
  end
14
14
  end
15
-
15
+
16
16
  context "for selenium" do
17
17
  it "should submit a form" do
18
18
  form = PageObject::Elements::Form.new(form_element, :platform => :selenium)
19
19
  form_element.should_receive(:submit)
20
20
  form.submit
21
- end
21
+ end
22
22
  end
23
23
  end
24
24
  end
@@ -3,7 +3,7 @@ require 'page-object/elements'
3
3
 
4
4
  describe PageObject::Elements::HiddenField do
5
5
  let(:hiddenfield) { PageObject::Elements::HiddenField }
6
-
6
+
7
7
  describe "when mapping how to find an element" do
8
8
  it "should map watir types to same" do
9
9
  [:class, :id, :index, :name, :tag_name, :text, :xpath].each do |t|
@@ -16,14 +16,14 @@ describe PageObject::Elements::HiddenField do
16
16
  identifier = hiddenfield.watir_identifier_for :css => 'value'
17
17
  identifier.keys.first.should == :tag_name
18
18
  end
19
-
19
+
20
20
  it "should map selenium types to same" do
21
21
  [:class, :css, :id, :name, :xpath, :index].each do |t|
22
22
  key, value = hiddenfield.selenium_identifier_for t => 'value'
23
23
  key.should == t
24
24
  end
25
25
  end
26
-
26
+
27
27
  it "should map watir types to selenium" do
28
28
  key, value = hiddenfield.selenium_identifier_for :tag_name => 'value'
29
29
  key.should == :css
@@ -3,7 +3,7 @@ require 'page-object/elements'
3
3
 
4
4
  describe PageObject::Elements::Image do
5
5
  let(:image) { PageObject::Elements::Image }
6
-
6
+
7
7
  describe "when mapping how to find an element" do
8
8
  it "should map watir types to same" do
9
9
  [:class, :id, :index, :name, :xpath].each do |t|
@@ -19,28 +19,28 @@ describe PageObject::Elements::Image do
19
19
  end
20
20
  end
21
21
  end
22
-
22
+
23
23
  describe "interface" do
24
24
  let(:image_element) { double('image_element') }
25
-
25
+
26
26
  before(:each) do
27
27
  image_element.stub(:size).and_return(image_element)
28
28
  end
29
-
29
+
30
30
  context "for watir" do
31
31
  it "should know the images width" do
32
32
  image = PageObject::Elements::Image.new(image_element, :platform => :watir)
33
33
  image_element.should_receive(:width).and_return(100)
34
34
  image.width.should == 100
35
35
  end
36
-
36
+
37
37
  it "should know the images height" do
38
38
  image = PageObject::Elements::Image.new(image_element, :platform => :watir)
39
39
  image_element.should_receive(:height).and_return(120)
40
40
  image.height.should == 120
41
41
  end
42
42
  end
43
-
43
+
44
44
  context "for selenium" do
45
45
  it "should know the images width" do
46
46
  dim = double('dimension')
@@ -49,7 +49,7 @@ describe PageObject::Elements::Image do
49
49
  dim.should_receive(:width).and_return(100)
50
50
  image.width.should == 100
51
51
  end
52
-
52
+
53
53
  it "should know the images height" do
54
54
  dim = double('dimension')
55
55
  image = PageObject::Elements::Image.new(image_element, :platform => :selenium)