# feature tests for Radio Buttons $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED require 'unittests/setup' class TC_Radios_XPath < Test::Unit::TestCase def setup() goto_page("radioButtons1.html") end def test_Radio_Exists assert(browser.radio(:xpath, "//input[@name='box1']").exists?) assert(browser.radio(:xpath, "//input[@id='box5']").exists?) assert_false(browser.radio(:xpath, "//input[@name='missingname']").exists?) assert_false(browser.radio(:xpath, "//input[@id='missingid']").exists?) end def test_Radio_Enabled assert_raises(UnknownObjectException) { browser.radio(:xpath, "//input[@name='noName']").enabled? } assert_raises(UnknownObjectException) { browser.radio(:xpath, "//input[@id='noName']").enabled? } assert_raises(UnknownObjectException) { browser.radio(:xpath, "//input[@name='box4' and @value='6']").enabled? } assert_false(browser.radio(:xpath, "//input[@name='box2']").enabled?) assert(browser.radio(:xpath, "//input[@id='box5']").enabled?) assert(browser.radio(:xpath, "//input[@name='box1']").enabled?) end def test_little assert_false(browser.button(:xpath,"//input[@name='foo']").enabled?) end def test_onClick assert_false(browser.button(:xpath,"//input[@name='foo']").enabled?) browser.radio(:xpath, "//input[@name='box5' and @value='1']").set assert(browser.button(:xpath,"//input[@name='foo']").enabled?) browser.radio(:xpath, "//input[@name='box5' and @value='2']").set assert_false(browser.button(:xpath,"//input[@name='foo']").enabled?) end def test_Radio_isSet assert_raises(UnknownObjectException) { browser.radio(:xpath, "//input[@name='noName']").isSet? } assert_false(browser.radio(:xpath, "//input[@name='box1']").isSet?) assert(browser.radio(:xpath, "//input[@name='box3']").isSet?) assert_false(browser.radio(:xpath, "//input[@name='box2']").isSet?) assert( browser.radio(:xpath, "//input[@name='box4' and @value='1']").isSet?) assert_false(browser.radio(:xpath, "//input[@name='box4' and @value='2']").isSet?) end def test_radio_clear assert_raises(UnknownObjectException) { browser.radio(:xpath, "//input[@name='noName']").clear } browser.radio(:xpath, "//input[@name='box1']").clear assert_false(browser.radio(:xpath, "//input[@name='box1']").isSet?) assert_raises(ObjectDisabledException, "ObjectDisabledException was supposed to be thrown" ) { browser.radio(:xpath, "//input[@name='box2']").clear } assert_false(browser.radio(:xpath, "//input[@name='box2']").isSet?) browser.radio(:xpath, "//input[@name='box3']").clear assert_false(browser.radio(:xpath, "//input[@name='box3']").isSet?) browser.radio(:xpath, "//input[@name='box4' and @value='1']").clear assert_false(browser.radio(:xpath, "//input[@name='box4' and @value='1']").isSet?) end def test_radio_getState assert_raises(UnknownObjectException) { browser.radio(:xpath, "//input[@name='noName']").getState } assert_equal( false , browser.radio(:xpath, "//input[@name='box1']").getState ) assert_equal( true , browser.radio(:xpath, "//input[@name='box3']").getState) # radioes that have the same name but different values assert_equal( false , browser.radio(:xpath, "//input[@name='box4' and @value='2']").getState ) assert_equal( true , browser.radio(:xpath, "//input[@name='box4' and @value='1']").getState) end def test_radio_set assert_raises(UnknownObjectException) { browser.radio(:xpath, "//input[@name='noName']").set } browser.radio(:xpath, "//input[@name='box1']").set assert(browser.radio(:xpath, "//input[@name='box1']").isSet?) assert_raises(ObjectDisabledException, "ObjectDisabledException was supposed to be thrown" ) { browser.radio(:xpath, "//input[@name='box2']").set } browser.radio(:xpath, "//input[@name='box3']").set assert(browser.radio(:xpath, "//input[@name='box3']").isSet?) # radioes that have the same name but different values browser.radio(:xpath, "//input[@name='box4' and @value='3']").set assert(browser.radio(:xpath, "//input[@name='box4' and @value='3']").isSet?) end end