watir-webdriver 0.0.1.dev5 → 0.0.1.dev6

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 (92) hide show
  1. data/Rakefile +13 -19
  2. data/VERSION +1 -1
  3. data/lib/watir-webdriver.rb +3 -1
  4. data/lib/watir-webdriver/base_element.rb +33 -27
  5. data/lib/watir-webdriver/browser.rb +2 -6
  6. data/lib/watir-webdriver/elements/font.rb +12 -0
  7. data/lib/watir-webdriver/elements/generated.rb +1027 -622
  8. data/lib/watir-webdriver/elements/select_list.rb +3 -3
  9. data/lib/watir-webdriver/locators/element_locator.rb +2 -2
  10. data/lib/watir-webdriver/xpath_support.rb +2 -2
  11. data/support/html5/html5.idl +942 -483
  12. data/support/html5/old/html5.idl +962 -0
  13. data/support/html5/{html5_extras.idl → old/html5_extras.idl} +0 -2
  14. data/support/html5/watir_visitor.rb +23 -19
  15. metadata +74 -100
  16. data/spec/watirspec/area_spec.rb +0 -78
  17. data/spec/watirspec/areas_spec.rb +0 -31
  18. data/spec/watirspec/browser_spec.rb +0 -274
  19. data/spec/watirspec/button_spec.rb +0 -242
  20. data/spec/watirspec/buttons_spec.rb +0 -48
  21. data/spec/watirspec/checkbox_spec.rb +0 -272
  22. data/spec/watirspec/checkboxes_spec.rb +0 -32
  23. data/spec/watirspec/dd_spec.rb +0 -123
  24. data/spec/watirspec/dds_spec.rb +0 -31
  25. data/spec/watirspec/div_spec.rb +0 -211
  26. data/spec/watirspec/divs_spec.rb +0 -31
  27. data/spec/watirspec/dl_spec.rb +0 -123
  28. data/spec/watirspec/dls_spec.rb +0 -32
  29. data/spec/watirspec/dt_spec.rb +0 -123
  30. data/spec/watirspec/dts_spec.rb +0 -31
  31. data/spec/watirspec/element_spec.rb +0 -89
  32. data/spec/watirspec/em_spec.rb +0 -97
  33. data/spec/watirspec/ems_spec.rb +0 -32
  34. data/spec/watirspec/filefield_spec.rb +0 -119
  35. data/spec/watirspec/filefields_spec.rb +0 -32
  36. data/spec/watirspec/form_spec.rb +0 -63
  37. data/spec/watirspec/forms_spec.rb +0 -33
  38. data/spec/watirspec/frame_spec.rb +0 -129
  39. data/spec/watirspec/frames_spec.rb +0 -62
  40. data/spec/watirspec/hidden_spec.rb +0 -102
  41. data/spec/watirspec/hiddens_spec.rb +0 -32
  42. data/spec/watirspec/hn_spec.rb +0 -93
  43. data/spec/watirspec/hns_spec.rb +0 -38
  44. data/spec/watirspec/image_spec.rb +0 -207
  45. data/spec/watirspec/images_spec.rb +0 -31
  46. data/spec/watirspec/label_spec.rb +0 -75
  47. data/spec/watirspec/labels_spec.rb +0 -31
  48. data/spec/watirspec/li_spec.rb +0 -112
  49. data/spec/watirspec/lib/guards.rb +0 -59
  50. data/spec/watirspec/lib/server.rb +0 -127
  51. data/spec/watirspec/lib/spec_helper.rb +0 -79
  52. data/spec/watirspec/lib/watirspec.rb +0 -72
  53. data/spec/watirspec/link_spec.rb +0 -168
  54. data/spec/watirspec/links_spec.rb +0 -35
  55. data/spec/watirspec/lis_spec.rb +0 -31
  56. data/spec/watirspec/map_spec.rb +0 -76
  57. data/spec/watirspec/maps_spec.rb +0 -32
  58. data/spec/watirspec/meta_spec.rb +0 -22
  59. data/spec/watirspec/metas_spec.rb +0 -30
  60. data/spec/watirspec/ol_spec.rb +0 -78
  61. data/spec/watirspec/ols_spec.rb +0 -31
  62. data/spec/watirspec/option_spec.rb +0 -173
  63. data/spec/watirspec/p_spec.rb +0 -128
  64. data/spec/watirspec/pre_spec.rb +0 -112
  65. data/spec/watirspec/pres_spec.rb +0 -31
  66. data/spec/watirspec/ps_spec.rb +0 -31
  67. data/spec/watirspec/radio_spec.rb +0 -255
  68. data/spec/watirspec/radios_spec.rb +0 -32
  69. data/spec/watirspec/select_list_spec.rb +0 -318
  70. data/spec/watirspec/select_lists_spec.rb +0 -35
  71. data/spec/watirspec/span_spec.rb +0 -142
  72. data/spec/watirspec/spans_spec.rb +0 -31
  73. data/spec/watirspec/spec_helper.rb +0 -17
  74. data/spec/watirspec/strong_spec.rb +0 -89
  75. data/spec/watirspec/strongs_spec.rb +0 -32
  76. data/spec/watirspec/table_bodies_spec.rb +0 -45
  77. data/spec/watirspec/table_body_spec.rb +0 -98
  78. data/spec/watirspec/table_cell_spec.rb +0 -68
  79. data/spec/watirspec/table_cells_spec.rb +0 -47
  80. data/spec/watirspec/table_footer_spec.rb +0 -85
  81. data/spec/watirspec/table_footers_spec.rb +0 -47
  82. data/spec/watirspec/table_header_spec.rb +0 -85
  83. data/spec/watirspec/table_headers_spec.rb +0 -45
  84. data/spec/watirspec/table_row_spec.rb +0 -87
  85. data/spec/watirspec/table_rows_spec.rb +0 -50
  86. data/spec/watirspec/table_spec.rb +0 -160
  87. data/spec/watirspec/tables_spec.rb +0 -33
  88. data/spec/watirspec/text_field_spec.rb +0 -276
  89. data/spec/watirspec/text_fields_spec.rb +0 -35
  90. data/spec/watirspec/ul_spec.rb +0 -76
  91. data/spec/watirspec/uls_spec.rb +0 -33
  92. data/support/html5/idl_extractor.rb +0 -73
@@ -1,274 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "Browser" do
5
-
6
- describe "#exists?" do
7
- it "returns true if we are at a page" do
8
- browser.goto(WatirSpec.files + "/non_control_elements.html")
9
- browser.should exist
10
- end
11
-
12
- not_compliant_on :webdriver do
13
- it "returns false after IE#close" do
14
- b = WatirSpec.new_browser
15
- b.close
16
- b.should_not exist
17
- end
18
- end
19
- end
20
-
21
- # this should be rewritten - the actual string returned varies alot between implementations
22
- describe "#html" do
23
- deviates_on :celerity do
24
- it "returns the downloaded HTML of the page" do
25
- browser.goto(WatirSpec.files + "/non_control_elements.html")
26
- browser.html.should == File.read(File.dirname(__FILE__) + "/html/non_control_elements.html")
27
- end
28
- end
29
-
30
- deviates_on :watir do
31
- it "returns the DOM of the page as an HTML string" do
32
- browser.goto(WatirSpec.files + "/right_click.html")
33
- browser.html.should == "<HTML><HEAD><TITLE>Right Click Test</TITLE>\r\n<META http-equiv=Content-type content=\"text/html; charset=utf-8\">\r\n<SCRIPT src=\"javascript/helpers.js\" type=text/javascript charset=utf-8></SCRIPT>\r\n</HEAD>\r\n<BODY>\r\n<DIV id=messages></DIV>\r\n<DIV oncontextmenu='WatirSpec.addMessage(\"right-clicked\")' id=click>Right click!</DIV></BODY></HTML>"
34
- end
35
- end
36
-
37
- deviates_on :webdriver do
38
- it "returns the DOM of the page as an HTML string" do
39
- browser.goto(WatirSpec.files + "/right_click.html")
40
- html = browser.html
41
-
42
- html.should =~ /^<html/
43
- html.should include("<meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\">")
44
- end
45
- end
46
- end
47
-
48
- describe "#title" do
49
- it "returns the current page title" do
50
- browser.goto(WatirSpec.files + "/non_control_elements.html")
51
- browser.title.should == "Non-control elements"
52
- end
53
- end
54
-
55
- describe "#status" do
56
- not_compliant_on :webdriver do # need to set Firefox preference, might do this when selenium-webdriver exposes the profile used
57
- bug "WTR-348", :watir do
58
- it "returns the current value of window.status" do
59
- browser.goto(WatirSpec.files + "/non_control_elements.html")
60
-
61
- # for firefox, this needs to be enabled in
62
- # Preferences -> Content -> Advanced -> Change status bar text
63
- browser.execute_script "window.status = 'All done!';"
64
- browser.status.should == "All done!"
65
- end
66
- end
67
- end
68
- end
69
-
70
- describe "#text" do
71
- it "returns the text of the page" do
72
- browser.goto(WatirSpec.files + "/non_control_elements.html")
73
- browser.text.should include("Dubito, ergo cogito, ergo sum.")
74
- end
75
-
76
- it "returns the text also if the content-type is text/plain" do
77
- # more specs for text/plain? what happens if we call other methods?
78
- browser.goto(WatirSpec.host + "/plain_text")
79
- browser.text.strip.should == 'This is text/plain'
80
- end
81
- end
82
-
83
- describe "#url" do
84
- it "returns the current url" do
85
- browser.goto(WatirSpec.host + "/non_control_elements.html")
86
- browser.url.should == WatirSpec.host + "/non_control_elements.html"
87
- end
88
- end
89
-
90
- not_compliant_on :webdriver do
91
- # just hangs with watir-webdriver + IE
92
- describe ".start" do
93
- it "goes to the given URL and return an instance of itself" do
94
- browser = Browser.start("#{WatirSpec.files}/non_control_elements.html")
95
- browser.should be_instance_of(Browser)
96
- browser.title.should == "Non-control elements"
97
- browser.quit
98
- end
99
- end
100
- end
101
-
102
- describe "#goto" do
103
- it "adds http:// to URLs with no URL scheme specified" do
104
- url = WatirSpec.host[%r{http://(.*)}, 1]
105
- url.should_not be_nil
106
- browser.goto(url)
107
- browser.url.should =~ %r[http://#{url}/?]
108
- end
109
-
110
- it "goes to the given url without raising errors" do
111
- lambda { browser.goto(WatirSpec.files + "/non_control_elements.html") }.should_not raise_error
112
- end
113
-
114
- it "updates the page when location is changed with setTimeout + window.location" do
115
- browser.goto(WatirSpec.files + "/timeout_window_location.html")
116
- sleep 1
117
- browser.url.should include("non_control_elements.html")
118
- end
119
- end
120
-
121
- describe "#refresh" do
122
- it "refreshes the page" do
123
- browser.goto(WatirSpec.files + "/non_control_elements.html")
124
- browser.span(:class, 'footer').click
125
- browser.span(:class, 'footer').text.should include('Javascript')
126
- browser.refresh
127
- browser.span(:class, 'footer').text.should_not include('Javascript')
128
- end
129
- end
130
-
131
- describe "#execute_script" do
132
- it "executes the given JavaScript on the current page" do
133
- browser.goto(WatirSpec.files + "/non_control_elements.html")
134
- browser.pre(:id, 'rspec').text.should_not == "javascript text"
135
- browser.execute_script("document.getElementById('rspec').innerHTML = 'javascript text'")
136
- browser.pre(:id, 'rspec').text.should == "javascript text"
137
- end
138
- end
139
-
140
- describe "#back and #forward" do
141
- it "goes to the previous page" do
142
- browser.goto("#{WatirSpec.host}/non_control_elements.html")
143
- orig_url = browser.url
144
- browser.goto("#{WatirSpec.host}/tables.html")
145
- new_url = browser.url
146
- orig_url.should_not == new_url
147
- browser.back
148
- orig_url.should == browser.url
149
- end
150
-
151
- it "goes to the next page" do
152
- urls = []
153
- browser.goto(WatirSpec.host + "/non_control_elements.html")
154
- urls << browser.url
155
- browser.goto(WatirSpec.host + "/tables.html")
156
- urls << browser.url
157
-
158
- browser.back
159
- browser.url.should == urls.first
160
- browser.forward
161
- browser.url.should == urls.last
162
- end
163
-
164
- it "navigates between several history items" do
165
- urls = [ "#{WatirSpec.host}/non_control_elements.html",
166
- "#{WatirSpec.host}/tables.html",
167
- "#{WatirSpec.host}/forms_with_input_elements.html",
168
- "#{WatirSpec.host}/definition_lists.html"
169
- ].map do |page|
170
- browser.goto page
171
- browser.url
172
- end
173
-
174
- 3.times { browser.back }
175
- browser.url.should == urls.first
176
- 2.times { browser.forward }
177
- browser.url.should == urls[2]
178
- end
179
- end
180
-
181
- describe "#element_by_xpath" do
182
- before :each do
183
- browser.goto(WatirSpec.files + "/forms_with_input_elements.html")
184
- end
185
-
186
- bug "WTR-343", :watir do
187
- it "finds submit buttons matching the given xpath" do
188
- browser.element_by_xpath("//input[@type='submit']").should exist
189
- end
190
-
191
- it "finds reset buttons matching the given xpath" do
192
- browser.element_by_xpath("//input[@type='reset']").should exist
193
- end
194
-
195
- it "finds image buttons matching the given xpath" do
196
- browser.element_by_xpath("//input[@type='image']").should exist
197
- end
198
-
199
- it "finds the element matching the given xpath" do
200
- browser.element_by_xpath("//input[@type='password']").should exist
201
- end
202
- end
203
-
204
- bug "WTR-327", :watir do
205
- it "will not find elements that doesn't exist" do
206
- e = browser.element_by_xpath("//input[@type='foobar']")
207
- e.should_not exist
208
- lambda { e.text }.should raise_error(UnknownObjectException)
209
- end
210
- end
211
- end
212
-
213
- describe "#elements_by_xpath" do
214
- before :each do
215
- browser.goto(WatirSpec.files + "/forms_with_input_elements.html")
216
- end
217
-
218
- bug "WTR-344", :watir do
219
- it "returns an Array of matching elements" do
220
- objects = browser.elements_by_xpath("//*[@type='text']")
221
- objects.should be_kind_of(Array)
222
- objects.size.should == 5
223
- end
224
- end
225
-
226
- bug "WTR-328", :watir do
227
- it "returns an empty Array if there are no matching elements" do
228
- objects = browser.elements_by_xpath("//*[@type='foobar']")
229
- objects.should be_kind_of(Array)
230
- objects.size.should == 0
231
- end
232
- end
233
- end
234
-
235
- describe "#add_checker" do
236
- it "raises ArgumentError when not given any arguments" do
237
- lambda { browser.add_checker }.should raise_error(ArgumentError)
238
- end
239
-
240
- not_compliant_on :webdriver do
241
- # if on IE, this slows the rest of the suite way down for some reason
242
- it "runs the given proc on each page load" do
243
- output = ''
244
- proc = Proc.new { |browser| output << browser.text }
245
-
246
- browser.add_checker(proc)
247
- browser.goto(WatirSpec.files + "/non_control_elements.html")
248
-
249
- output.should include('Dubito, ergo cogito, ergo sum')
250
- end
251
- end
252
- end
253
-
254
- describe "#disable_checker" do
255
- it "removes a previously added checker" do
256
- output = ''
257
- checker = lambda { |browser| output << browser.text }
258
-
259
- browser.add_checker(checker)
260
- browser.goto(WatirSpec.files + "/non_control_elements.html")
261
- output.should include('Dubito, ergo cogito, ergo sum')
262
-
263
- browser.disable_checker(checker)
264
- browser.goto(WatirSpec.files + "/definition_lists.html")
265
- output.should_not include('definition_lists')
266
- end
267
- end
268
-
269
- it "raises UnknownObjectException when trying to access DOM elements on plain/text-page" do
270
- browser.goto(WatirSpec.host + "/plain_text")
271
- lambda { browser.div(:id, 'foo').id }.should raise_error(UnknownObjectException)
272
- end
273
-
274
- end
@@ -1,242 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "Button" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/forms_with_input_elements.html")
8
- end
9
-
10
- # Exists method
11
- describe "#exists?" do
12
- it "returns true if the button exists" do
13
- browser.button(:id, "new_user_submit").should exist
14
- browser.button(:id, /new_user_submit/).should exist
15
- browser.button(:name, "new_user_reset").should exist
16
- browser.button(:name, /new_user_reset/).should exist
17
- browser.button(:value, "Button 2").should exist
18
- browser.button(:value, /Button 2/).should exist
19
- browser.button(:src, "images/button.jpg").should exist
20
- browser.button(:src, /button.jpg/).should exist
21
- browser.button(:text, "Button 2").should exist
22
- browser.button(:text, /Button 2/).should exist
23
- browser.button(:class, "image").should exist
24
- browser.button(:class, /image/).should exist
25
- browser.button(:index, 0).should exist
26
- browser.button(:xpath, "//input[@id='new_user_submit']").should exist
27
- browser.button(:alt, "Create a new user").should exist
28
- browser.button(:alt, /Create a/).should exist
29
- end
30
-
31
- it "returns true if the button exists (how = :caption)" do
32
- browser.button(:caption, "Button 2").should exist
33
- browser.button(:caption, /Button 2/).should exist
34
- end
35
-
36
- it "returns false if the button doesn't exist" do
37
- browser.button(:id, "no_such_id").should_not exist
38
- browser.button(:id, /no_such_id/).should_not exist
39
- browser.button(:name, "no_such_name").should_not exist
40
- browser.button(:name, /no_such_name/).should_not exist
41
- browser.button(:value, "no_such_value").should_not exist
42
- browser.button(:value, /no_such_value/).should_not exist
43
- browser.button(:src, "no_such_src").should_not exist
44
- browser.button(:src, /no_such_src/).should_not exist
45
- browser.button(:text, "no_such_text").should_not exist
46
- browser.button(:text, /no_such_text/).should_not exist
47
- browser.button(:class, "no_such_class").should_not exist
48
- browser.button(:class, /no_such_class/).should_not exist
49
- browser.button(:index, 1337).should_not exist
50
- browser.button(:xpath, "//input[@id='no_such_id']").should_not exist
51
- end
52
-
53
- it "raises TypeError when 'what' argument is invalid" do
54
- lambda { browser.button(:id, 3.14).exists? }.should raise_error(TypeError)
55
- end
56
-
57
- it "raises MissingWayOfFindingObjectException when 'how' argument is invalid" do
58
- lambda { browser.button(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
59
- end
60
-
61
- # it "locates the correct button when there are duplicate ids and user disambiguates by parent" do
62
- # browser.goto(WatirSpec.files + "/buttons_with_duplicate_ids.html")
63
- # browser.form(:name, "bar-form").button(:id, 'next').parent.name.should == "bar-form"
64
- # end
65
- end
66
-
67
- # Attribute methods
68
- describe "#class_name" do
69
- it "returns the class name of the button" do
70
- browser.button(:name, "new_user_image").class_name.should == "image"
71
- end
72
-
73
- it "returns an empty string if the button has no class name" do
74
- browser.button(:name, "new_user_submit").class_name.should == ""
75
- end
76
- end
77
-
78
- describe "#id" do
79
- it "returns the id if the button exists" do
80
- browser.button(:index, 0).id.should == 'new_user_submit'
81
- browser.button(:index, 1).id.should == 'new_user_reset'
82
- browser.button(:index, 2).id.should == 'new_user_button'
83
- end
84
-
85
- it "raises UnknownObjectException if button does not exist" do
86
- lambda { browser.button(:index, 1337).id }.should raise_error(UnknownObjectException)
87
- end
88
- end
89
-
90
- describe "#name" do
91
- it "returns the name if button exists" do
92
- browser.button(:index, 0).name.should == 'new_user_submit'
93
- browser.button(:index, 1).name.should == 'new_user_reset'
94
- browser.button(:index, 2).name.should == 'new_user_button'
95
- end
96
-
97
- it "raises UnknownObjectException if the button does not exist" do
98
- lambda { browser.button(:name, "no_such_name").name }.should raise_error(UnknownObjectException)
99
- end
100
- end
101
-
102
- describe "#src" do
103
- not_compliant_on :watir do
104
- it "returns the src attribute for the button image" do
105
- browser.button(:name, "new_user_image").src.should == "images/button.jpg"
106
- end
107
- end
108
-
109
- deviates_on :watir do
110
- it "returns the full url for the button image" do
111
- browser.button(:name, "new_user_image").src.should == "file:///#{File.dirname(__FILE__)}/images/button.jpg"
112
- end
113
- end
114
-
115
- it "raises UnknownObjectException if the button does not exist" do
116
- lambda { browser.button(:name, "no_such_name").src }.should raise_error(UnknownObjectException)
117
- end
118
- end
119
-
120
- describe "#style" do
121
- deviates_on :watir do
122
- it "returns the style attribute if the button exists" do
123
- browser.button(:id, 'delete_user_submit').style.should == "border-right: red 4px solid; border-top: red 4px solid; border-left: red 4px solid; border-bottom: red 4px solid"
124
- end
125
- end
126
-
127
- not_compliant_on :watir do
128
- it "returns the style attribute if the button exists" do
129
- browser.button(:id, 'delete_user_submit').style.should == "border: 4px solid red;"
130
- end
131
- end
132
-
133
- it "returns an empty string if the element exists and the attribute doesn't exist" do
134
- browser.button(:id, 'new_user_submit').style.should == ""
135
- end
136
-
137
- it "raises UnknownObjectException if the button does not exist" do
138
- lambda { browser.button(:name, "no_such_name").style }.should raise_error(UnknownObjectException)
139
- end
140
- end
141
-
142
- describe "#title" do
143
- it "returns the title of the button" do
144
- browser.button(:index, 0).title.should == 'Submit the form'
145
- end
146
-
147
- it "returns an empty string for button without title" do
148
- browser.button(:index, 1).title.should == ''
149
- end
150
- end
151
-
152
- describe "#type" do
153
- it "returns the type if button exists" do
154
- browser.button(:index, 0).type.should == 'submit'
155
- browser.button(:index, 1).type.should == 'reset'
156
- browser.button(:index, 2).type.should == 'button'
157
- end
158
-
159
- it "raises UnknownObjectException if button does not exist" do
160
- lambda { browser.button(:name, "no_such_name").type }.should raise_error(UnknownObjectException)
161
- end
162
- end
163
-
164
- describe "#value" do
165
- it "returns the value if button exists" do
166
- browser.button(:index, 0).value.should == 'Submit'
167
- browser.button(:index, 1).value.should == 'Reset'
168
- browser.button(:index, 2).value.should == 'Button'
169
- end
170
-
171
- it "raises UnknownObjectException if button does not exist" do
172
- lambda { browser.button(:name, "no_such_name").value }.should raise_error(UnknownObjectException)
173
- end
174
- end
175
-
176
- describe "#respond_to?" do
177
- it "returns true for all attribute methods" do
178
- browser.button(:index, 0).should respond_to(:class_name)
179
- browser.button(:index, 0).should respond_to(:id)
180
- browser.button(:index, 0).should respond_to(:name)
181
- browser.button(:index, 0).should respond_to(:src)
182
- browser.button(:index, 0).should respond_to(:style)
183
- browser.button(:index, 0).should respond_to(:title)
184
- browser.button(:index, 0).should respond_to(:type)
185
- browser.button(:index, 0).should respond_to(:value)
186
- end
187
- end
188
-
189
- # Access methods
190
- describe "#enabled?" do
191
- it "returns true if the button is enabled" do
192
- browser.button(:name, 'new_user_submit').should be_enabled
193
- end
194
-
195
- it "returns false if the button is disabled" do
196
- browser.button(:name, 'new_user_submit_disabled').should_not be_enabled
197
- end
198
-
199
- it "raises UnknownObjectException if the button doesn't exist" do
200
- lambda { browser.button(:name, "no_such_name").enabled? }.should raise_error(UnknownObjectException)
201
- end
202
- end
203
-
204
- describe "#disabled?" do
205
- it "returns false when button is enabled" do
206
- browser.button(:name, 'new_user_submit').should_not be_disabled
207
- end
208
-
209
- it "returns true when button is disabled" do
210
- browser.button(:name, 'new_user_submit_disabled').should be_disabled
211
- end
212
-
213
- it "raises UnknownObjectException if button does not exist" do
214
- lambda { browser.button(:name, "no_such_name").disabled? }.should raise_error(UnknownObjectException)
215
- end
216
- end
217
-
218
- # Manipulation methods
219
- describe "#click" do
220
- it "clicks the button if it exists" do
221
- browser.goto(WatirSpec.host + "/forms_with_input_elements.html")
222
- browser.button(:id, 'new_user_submit').click
223
- browser.text.should include("You posted the following content:")
224
- end
225
-
226
- it "fires events" do
227
- browser.button(:id, 'new_user_button').click
228
- browser.button(:id, 'new_user_button').value.should == 'new_value_set_by_onclick_event'
229
- end
230
-
231
- it "raises UnknownObjectException when clicking a button that doesn't exist" do
232
- lambda { browser.button(:value, "no_such_value").click }.should raise_error(UnknownObjectException)
233
- lambda { browser.button(:id, "no_such_id").click }.should raise_error(UnknownObjectException)
234
- end
235
-
236
- it "raises ObjectDisabledException when clicking a disabled button" do
237
- lambda { browser.button(:value, "Disabled").click }.should raise_error(ObjectDisabledException)
238
- end
239
- end
240
-
241
-
242
- end