# tests for textarea elements $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED require 'unittests/setup' class TC_TextArea < Test::Unit::TestCase include Watir::Exception def setup goto_page 'textarea.html' end def test_elements_exist_or_not assert(browser.text_field(:name,"txtMultiLine1").exists?) assert(browser.text_field(:name,"txtMultiLine2").exists?) assert(browser.text_field(:name,"txtMultiLine3").exists?) assert(browser.text_field(:name,"txtReadOnly").exists?) assert(browser.text_field(:id,"txtMultiLine1").exists?) assert(browser.text_field(:id,"txtMultiLine2").exists?) assert(browser.text_field(:id,"txtMultiLine3").exists?) assert(browser.text_field(:id,"txtReadOnly").exists?) assert_false(browser.text_field(:name, "missing").exists?) assert_false(browser.text_field(:name,"txtMultiLine4").exists?) end def test_to_s_bug # from a bug reported by Zeljko Filipin assert_nothing_raised { browser.text_field(:id,"txtMultiLine3").to_s } end def test_maxlength_bug # from another bug assert_nothing_raised { browser.text_field(:id,"txtMultiLine3").append('foo')} end def test_readonly_and_enabled assert_false(browser.text_field(:name, "txtMultiLine1").readonly? ) assert(browser.text_field(:name,"txtReadOnly").readonly?) assert_false(browser.text_field(:name, "txtDisabled").enabled? ) assert(browser.text_field(:id, "txtMultiLine1").enabled? ) end def test_verify_contains t1 = browser.text_field(:name, "txtMultiLine1") assert(t1.verify_contains("Hello World") ) assert(t1.verify_contains(/el/) ) assert(browser.text_field(:name, "txtMultiLine2").verify_contains(/IE/)) end def test_no_such_element assert_raises(UnknownObjectException) do browser.text_field(:name, "NoName").verify_contains("de nada") end assert_raises(UnknownObjectException) do browser.text_field(:id, "noID").verify_contains("de nada") end assert_raises(UnknownObjectException) do browser.text_field(:name, "txtNone").append("de nada") end end def test_readonly_and_disabled_errors assert_raises(ObjectReadOnlyException) do browser.text_field(:id, "txtReadOnly").append("de nada") end assert_raises(ObjectDisabledException) do browser.text_field(:name, "txtDisabled").append("de nada") end assert_raises(ObjectReadOnlyException) do browser.text_field(:id, "txtReadOnly").append("Some Text") end assert_raises(ObjectDisabledException) do browser.text_field(:name, "txtDisabled").append("Some Text") end end def test_append_set_and_clear browser.text_field(:name, "txtMultiLine1").append(" Some Text") assert_equal("Hello World Some Text", browser.text_field(:name, "txtMultiLine1").value ) browser.text_field(:name, "txtMultiLine1").set("watir IE Controller") assert_equal("watir IE Controller", browser.text_field(:name, "txtMultiLine1").value ) browser.text_field(:name, "txtMultiLine2").clear assert_equal("" , browser.text_field(:name, "txtMultiLine2").value ) end end