unittests/radios_test.rb in watir-1.6.5 vs unittests/radios_test.rb in watir-1.6.6.rc1

- old
+ new

@@ -1,212 +1,212 @@ -# feature tests for Radio Buttons -# revision: $Revision$ - -$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED -require 'unittests/setup' - -class TC_Radios < Test::Unit::TestCase - include Watir::Exception - - def setup - goto_page "radioButtons1.html" - end - - def test_Radio_Exists - assert(browser.radio(:name, "box1").exists?) - assert(browser.radio(:id, "box5").exists?) - - assert_false(browser.radio(:name, "missingname").exists?) - assert_false(browser.radio(:id, "missingid").exists?) - end - - def test_radio_class - assert_raises(UnknownObjectException) { browser.radio(:name, "noName").class_name } - assert_equal("radio_style", browser.radio(:name, "box1").class_name) - assert_equal("", browser.radio(:id, "box5").class_name) - end - - def test_Radio_Enabled - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "noName").enabled? } - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:id, "noName").enabled? } - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "box4" , 6).enabled? } - - assert_false(browser.radio(:name, "box2").enabled?) - assert(browser.radio(:id, "box5").enabled?) - assert(browser.radio(:name, "box1").enabled?) - end - - def test_little - assert_false(browser.button(:value, "foo").enabled?) - end - - def test_onClick - - assert_false(browser.radio(:name, "box5").isSet?) - assert_false(browser.button(:value , "foo").enabled?) - - # first click the button is enabled and the radio is set - browser.radio(:name, "box5", 1).set - assert(browser.radio(:name, "box5",1).isSet?) - assert(browser.radio(:name, "box5",1).checked?) - assert(browser.button(:value, "foo").enabled?) - - # second click the button is disabled and the radio is still set - browser.radio(:name, "box5", 1).set - assert(browser.radio(:name, "box5",1).isSet?) - assert(browser.radio(:name, "box5",1).checked?) - assert_false(browser.button(:value, "foo").enabled?) - - # third click the button is enabled and the radio is still set - browser.radio(:name, "box5", 1).set - assert(browser.radio(:name, "box5", 1).isSet?) - assert(browser.radio(:name, "box5", 1).checked?) - assert(browser.button(:value, "foo").enabled?) - - # click the radio with a value of 2 , button is disabled and the radio is still set - browser.radio(:name, "box5", 2).set - assert_false(browser.radio(:name, "box5", 1).isSet?) - assert_false(browser.radio(:name, "box5", 1).checked?) - assert(browser.radio(:name, "box5", 2).isSet?) - assert(browser.radio(:name, "box5", 2).checked?) - assert_false(browser.button(:value, "foo").enabled?) - end - - def test_Radio_isSet - assert_raises(UnknownObjectException) { browser.radio(:name, "noName").isSet? } - - assert_false(browser.radio(:name, "box1").isSet?) - assert( browser.radio(:name, "box3").isSet?) - assert_false(browser.radio(:name, "box2").isSet?) - assert( browser.radio(:name, "box4", 1).isSet?) - assert_false(browser.radio(:name, "box4", 2).isSet?) - - assert_false(browser.radio(:name, "box1").checked?) - assert( browser.radio(:name, "box3").checked?) - assert_false(browser.radio(:name, "box2").checked?) - assert( browser.radio(:name, "box4", 1).checked?) - assert_false(browser.radio(:name, "box4", 2).checked?) - end - - def test_radio_clear - assert_raises(UnknownObjectException) { browser.radio(:name, "noName").clear } - - browser.radio(:name, "box1").clear - assert_false(browser.radio(:name, "box1").isSet?) - - assert_raises(ObjectDisabledException, "ObjectDisabledException was supposed to be thrown" ) { browser.radio(:name, "box2").clear } - assert_false(browser.radio(:name, "box2").isSet?) - - browser.radio(:name, "box3").clear - assert_false(browser.radio(:name, "box3").isSet?) - - browser.radio(:name, "box4" , 1).clear - assert_false(browser.radio(:name, "box4" , 1).isSet?) - end - - def test_radio_getState - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "noName").getState } - - assert_equal( false , browser.radio(:name, "box1").getState ) - assert_equal( true , browser.radio(:name, "box3").getState) - - # radioes that have the same name but different values - assert_equal( false , browser.radio(:name, "box4" , 2).getState ) - assert_equal( true , browser.radio(:name, "box4" , 1).getState) - end - - def test_radio_set - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "noName").set } - browser.radio(:name, "box1").set - assert(browser.radio(:name, "box1").isSet?) - - assert_raises(ObjectDisabledException, "ObjectDisabledException was supposed to be thrown" ) { browser.radio(:name, "box2").set } - - browser.radio(:name, "box3").set - assert(browser.radio(:name, "box3").isSet?) - - # radioes that have the same name but different values - browser.radio(:name, "box4" , 3).set - assert(browser.radio(:name, "box4" , 3).isSet?) - end - - def test_radio_properties - - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).value} - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).name } - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).id } - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).disabled } - assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).type } - - assert_equal("on" , browser.radio(:index, 1).value) - assert_equal("box1" , browser.radio(:index, 1).name ) - assert_equal("" , browser.radio(:index, 1).id ) - assert_equal("radio", browser.radio(:index, 1).type ) - - assert_equal( false, browser.radio(:index, 1).disabled ) - assert_equal( true, browser.radio(:index, 3).disabled ) - - assert_equal("box5" , browser.radio(:index, 2).id ) - assert_equal("" , browser.radio(:index, 2).name ) - - assert_equal("box4-value5", browser.radio(:name , "box4" , 5 ).title ) - assert_equal("", browser.radio(:name , "box4" , 4 ).title ) - end - - def test_radio_iterators - assert_equal(13, browser.radios.length) - assert_equal("box5" , browser.radios[2].id ) - assert_equal(true , browser.radios[3].disabled ) - assert_equal(false , browser.radios[1].disabled ) - - index = 1 - browser.radios.each do |r| - assert_equal( browser.radio(:index, index).name , r.name ) - assert_equal( browser.radio(:index, index).id , r.id ) - assert_equal( browser.radio(:index, index).value, r.value) - assert_equal( browser.radio(:index, index).disabled , r.disabled ) - index+=1 - end - assert_equal(index -1, browser.radios.length) - end - - # test radio buttons that have a string as a value - def test_value_string - tea = browser.radio(:name, 'box6', 'Tea') - milk = browser.radio(:name, 'box6', 'Milk') - - assert(tea.exists?) - assert(milk.exists?) - - milk.set - assert(milk.isSet?) - assert_false(tea.isSet?) - - tea.set - assert_false(milk.isSet?) - assert(tea.isSet?) - - tea.clear - assert_false(tea.isSet?) - end - - def test_value_specified - tea = browser.radio(:name => 'box6', :value => 'Tea') - milk = browser.radio(:name => 'box6', :value => 'Milk') - - assert(tea.exists?) - assert(milk.exists?) - - milk.set - assert(milk.isSet?) - assert_false(tea.isSet?) - - tea.set - assert_false(milk.isSet?) - assert(tea.isSet?) - - tea.clear - assert_false(tea.isSet?) - end - -end - +# feature tests for Radio Buttons +# revision: $Revision$ + +$LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED +require 'unittests/setup' + +class TC_Radios < Test::Unit::TestCase + include Watir::Exception + + def setup + goto_page "radioButtons1.html" + end + + def test_Radio_Exists + assert(browser.radio(:name, "box1").exists?) + assert(browser.radio(:id, "box5").exists?) + + assert_false(browser.radio(:name, "missingname").exists?) + assert_false(browser.radio(:id, "missingid").exists?) + end + + def test_radio_class + assert_raises(UnknownObjectException) { browser.radio(:name, "noName").class_name } + assert_equal("radio_style", browser.radio(:name, "box1").class_name) + assert_equal("", browser.radio(:id, "box5").class_name) + end + + def test_Radio_Enabled + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "noName").enabled? } + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:id, "noName").enabled? } + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "box4" , 6).enabled? } + + assert_false(browser.radio(:name, "box2").enabled?) + assert(browser.radio(:id, "box5").enabled?) + assert(browser.radio(:name, "box1").enabled?) + end + + def test_little + assert_false(browser.button(:value, "foo").enabled?) + end + + def test_onClick + + assert_false(browser.radio(:name, "box5").isSet?) + assert_false(browser.button(:value , "foo").enabled?) + + # first click the button is enabled and the radio is set + browser.radio(:name, "box5", 1).set + assert(browser.radio(:name, "box5",1).isSet?) + assert(browser.radio(:name, "box5",1).checked?) + assert(browser.button(:value, "foo").enabled?) + + # second click the button is disabled and the radio is still set + browser.radio(:name, "box5", 1).set + assert(browser.radio(:name, "box5",1).isSet?) + assert(browser.radio(:name, "box5",1).checked?) + assert_false(browser.button(:value, "foo").enabled?) + + # third click the button is enabled and the radio is still set + browser.radio(:name, "box5", 1).set + assert(browser.radio(:name, "box5", 1).isSet?) + assert(browser.radio(:name, "box5", 1).checked?) + assert(browser.button(:value, "foo").enabled?) + + # click the radio with a value of 2 , button is disabled and the radio is still set + browser.radio(:name, "box5", 2).set + assert_false(browser.radio(:name, "box5", 1).isSet?) + assert_false(browser.radio(:name, "box5", 1).checked?) + assert(browser.radio(:name, "box5", 2).isSet?) + assert(browser.radio(:name, "box5", 2).checked?) + assert_false(browser.button(:value, "foo").enabled?) + end + + def test_Radio_isSet + assert_raises(UnknownObjectException) { browser.radio(:name, "noName").isSet? } + + assert_false(browser.radio(:name, "box1").isSet?) + assert( browser.radio(:name, "box3").isSet?) + assert_false(browser.radio(:name, "box2").isSet?) + assert( browser.radio(:name, "box4", 1).isSet?) + assert_false(browser.radio(:name, "box4", 2).isSet?) + + assert_false(browser.radio(:name, "box1").checked?) + assert( browser.radio(:name, "box3").checked?) + assert_false(browser.radio(:name, "box2").checked?) + assert( browser.radio(:name, "box4", 1).checked?) + assert_false(browser.radio(:name, "box4", 2).checked?) + end + + def test_radio_clear + assert_raises(UnknownObjectException) { browser.radio(:name, "noName").clear } + + browser.radio(:name, "box1").clear + assert_false(browser.radio(:name, "box1").isSet?) + + assert_raises(ObjectDisabledException, "ObjectDisabledException was supposed to be thrown" ) { browser.radio(:name, "box2").clear } + assert_false(browser.radio(:name, "box2").isSet?) + + browser.radio(:name, "box3").clear + assert_false(browser.radio(:name, "box3").isSet?) + + browser.radio(:name, "box4" , 1).clear + assert_false(browser.radio(:name, "box4" , 1).isSet?) + end + + def test_radio_getState + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "noName").getState } + + assert_equal( false , browser.radio(:name, "box1").getState ) + assert_equal( true , browser.radio(:name, "box3").getState) + + # radioes that have the same name but different values + assert_equal( false , browser.radio(:name, "box4" , 2).getState ) + assert_equal( true , browser.radio(:name, "box4" , 1).getState) + end + + def test_radio_set + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:name, "noName").set } + browser.radio(:name, "box1").set + assert(browser.radio(:name, "box1").isSet?) + + assert_raises(ObjectDisabledException, "ObjectDisabledException was supposed to be thrown" ) { browser.radio(:name, "box2").set } + + browser.radio(:name, "box3").set + assert(browser.radio(:name, "box3").isSet?) + + # radioes that have the same name but different values + browser.radio(:name, "box4" , 3).set + assert(browser.radio(:name, "box4" , 3).isSet?) + end + + def test_radio_properties + + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).value} + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).name } + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).id } + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).disabled } + assert_raises(UnknownObjectException, "UnknownObjectException was supposed to be thrown" ) { browser.radio(:index, 199).type } + + assert_equal("on" , browser.radio(:index, 1).value) + assert_equal("box1" , browser.radio(:index, 1).name ) + assert_equal("" , browser.radio(:index, 1).id ) + assert_equal("radio", browser.radio(:index, 1).type ) + + assert_equal( false, browser.radio(:index, 1).disabled ) + assert_equal( true, browser.radio(:index, 3).disabled ) + + assert_equal("box5" , browser.radio(:index, 2).id ) + assert_equal("" , browser.radio(:index, 2).name ) + + assert_equal("box4-value5", browser.radio(:name , "box4" , 5 ).title ) + assert_equal("", browser.radio(:name , "box4" , 4 ).title ) + end + + def test_radio_iterators + assert_equal(13, browser.radios.length) + assert_equal("box5" , browser.radios[2].id ) + assert_equal(true , browser.radios[3].disabled ) + assert_equal(false , browser.radios[1].disabled ) + + index = 1 + browser.radios.each do |r| + assert_equal( browser.radio(:index, index).name , r.name ) + assert_equal( browser.radio(:index, index).id , r.id ) + assert_equal( browser.radio(:index, index).value, r.value) + assert_equal( browser.radio(:index, index).disabled , r.disabled ) + index+=1 + end + assert_equal(index -1, browser.radios.length) + end + + # test radio buttons that have a string as a value + def test_value_string + tea = browser.radio(:name, 'box6', 'Tea') + milk = browser.radio(:name, 'box6', 'Milk') + + assert(tea.exists?) + assert(milk.exists?) + + milk.set + assert(milk.isSet?) + assert_false(tea.isSet?) + + tea.set + assert_false(milk.isSet?) + assert(tea.isSet?) + + tea.clear + assert_false(tea.isSet?) + end + + def test_value_specified + tea = browser.radio(:name => 'box6', :value => 'Tea') + milk = browser.radio(:name => 'box6', :value => 'Milk') + + assert(tea.exists?) + assert(milk.exists?) + + milk.set + assert(milk.isSet?) + assert_false(tea.isSet?) + + tea.set + assert_false(milk.isSet?) + assert(tea.isSet?) + + tea.clear + assert_false(tea.isSet?) + end + +end +