spec/watirspec/radio_spec.rb in watir-webdriver-0.0.7 vs spec/watirspec/radio_spec.rb in watir-webdriver-0.0.8
- old
+ new
@@ -23,10 +23,14 @@
browser.radio(:class, /huge/).should exist
browser.radio(:index, 0).should exist
browser.radio(:xpath, "//input[@id='new_user_newsletter_yes']").should exist
end
+ it "returns the first radio if given no args" do
+ browser.radio.should exist
+ end
+
it "returns true if the radio button exists (search by name and value)" do
browser.radio(:name => "new_user_newsletter", :value => 'yes').should exist
browser.radio(:xpath, "//input[@name='new_user_newsletter' and @value='yes']").set
end
@@ -161,11 +165,11 @@
browser.radio(:xpath, "//input[@id='new_user_newsletter_yes']").should be_enabled
end
it "returns false if the radio button is disabled" do
browser.radio(:id, "new_user_newsletter_nah").should_not be_enabled
- browser.radio(:xpath,"//input[@id='new_user_newsletter_nah']").should_not be_enabled
+ browser.radio(:xpath, "//input[@id='new_user_newsletter_nah']").should_not be_enabled
end
it "raises UnknownObjectException if the radio button doesn't exist" do
lambda { browser.radio(:id, "no_such_id").enabled? }.should raise_error(UnknownObjectException)
lambda { browser.radio(:xpath, "//input[@id='no_such_id']").enabled? }.should raise_error(UnknownObjectException)
@@ -195,25 +199,30 @@
it "sets the radio button when found by :xpath" do
browser.radio(:xpath, "//input[@id='new_user_newsletter_no']").set
browser.radio(:xpath, "//input[@id='new_user_newsletter_no']").should be_set
end
- it "fires the onclick event" do
- browser.radio(:id, "new_user_newsletter_no").set
- browser.radio(:id, "new_user_newsletter_yes").set
- messages.should == ["clicked: new_user_newsletter_no", "clicked: new_user_newsletter_yes"]
+ bug "http://code.google.com/p/selenium/issues/detail?id=695", [:webdriver, :ie] do
+ it "fires the onclick event" do
+ browser.radio(:id, "new_user_newsletter_no").set
+ browser.radio(:id, "new_user_newsletter_yes").set
+ messages.should == ["clicked: new_user_newsletter_no", "clicked: new_user_newsletter_yes"]
+ end
end
- it "fires the onchange event" do
- browser.radio(:value, 'certainly').set
- messages.should == ["changed: new_user_newsletter"]
+ # http://webbugtrack.blogspot.com/2007/11/bug-193-onchange-does-not-fire-properly.html
+ not_compliant_on [:webdriver, :ie] do
+ it "fires the onchange event" do
+ browser.radio(:value, 'certainly').set
+ messages.should == ["changed: new_user_newsletter"]
- browser.radio(:value, 'certainly').set
- messages.should == ["changed: new_user_newsletter"] # no event fired here - didn't change
+ browser.radio(:value, 'certainly').set
+ messages.should == ["changed: new_user_newsletter"] # no event fired here - didn't change
- browser.radio(:value, 'yes').set
- browser.radio(:value, 'certainly').set
- messages.should == ["changed: new_user_newsletter", "clicked: new_user_newsletter_yes", "changed: new_user_newsletter"]
+ browser.radio(:value, 'yes').set
+ browser.radio(:value, 'certainly').set
+ messages.should == ["changed: new_user_newsletter", "clicked: new_user_newsletter_yes", "changed: new_user_newsletter"]
+ end
end
it "raises UnknownObjectException if the radio button doesn't exist" do
lambda { browser.radio(:name, "no_such_name").set }.should raise_error(UnknownObjectException)
lambda { browser.radio(:xpath, "//input[@name='no_such_name']").set }.should raise_error(UnknownObjectException)