# feature tests for TextArea Fields # revision: $Revision$ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED require 'unittests/setup' class TC_TextArea_XPath < Test::Unit::TestCase include Watir::Exception def setup goto_page "textArea.html" end def test_textarea_field_exists #test for existance of 4 text area assert(browser.text_field(:xpath , "//textarea[@name='txtMultiLine1']/").exists?) assert(browser.text_field(:xpath , "//textarea[@name='txtMultiLine2']/").exists?) assert(browser.text_field(:xpath , "//textarea[@name='txtMultiLine3']/").exists?) assert(browser.text_field(:xpath , "//textarea[@name='txtReadOnly']/").exists?) assert(browser.text_field(:xpath , "//textarea[@id='txtMultiLine1']/").exists?) assert(browser.text_field(:xpath , "//textarea[@id='txtMultiLine2']/").exists?) assert(browser.text_field(:xpath , "//textarea[@id='txtMultiLine3']/").exists?) assert(browser.text_field(:xpath , "//textarea[@id='txtReadOnly']/").exists?) #test for missing assert_false(browser.text_field(:xpath , "//textarea[@name='missing']/").exists?) assert_false(browser.text_field(:xpath , "//textarea[@name='txtMultiLine4']/").exists?) end def xtest_textarea_to_s # bug reported by Zeljko Filipin # assert_nothing_raised { browser.text_field(:xpath , "//textarea[@id='txtMultiLine3']/").to_s } # The above assertion fails. No property or method called maxlength end def test_textarea_field # test for read only method assert_false(browser.text_field(:xpath , "//textarea[@name='txtMultiLine1']/").readonly? ) assert(browser.text_field(:xpath , "//textarea[@name='txtReadOnly']/").readonly?) # test for enabled? method assert_false(browser.text_field(:xpath , "//textarea[@name='txtDisabled']/").enabled? ) assert(browser.text_field(:xpath , "//textarea[@id='txtMultiLine1']/").enabled? ) t1 = browser.text_field(:xpath , "//textarea[@name='txtMultiLine1']/") assert(t1.verify_contains("Hello World") ) assert(t1.verify_contains(/el/) ) t2 = browser.text_field(:xpath , "//textarea[@name='txtMultiLine2']/") assert(t2.verify_contains(/IE/)) assert_raises(UnknownObjectException) { browser.text_field(:xpath , "//textarea[@name='NoName']/").verify_contains("No field to get a value of") } assert_raises(UnknownObjectException) { browser.text_field(:xpath , "//textarea[@id='noID']/").verify_contains("No field to get a value of") } assert_raises(UnknownObjectException , "ObjectReadOnlyException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@name='txtNone']/").append("Some Text") } assert_raises(ObjectReadOnlyException , "ObjectReadOnlyException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@id='txtReadOnly']/").append("Some Text") } assert_raises(ObjectDisabledException , "ObjectDisabledException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@name='txtDisabled']/").append("Some Text") } assert_raises(UnknownObjectException , "UnknownObjectException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@name='missing_field']/").append("Some Text") } browser.text_field(:xpath , "//textarea[@name='txtMultiLine1']/").append(" Some Text") assert_equal( "Hello World Some Text" , browser.text_field(:xpath , "//textarea[@name='txtMultiLine1']/").value) assert_raises(ObjectReadOnlyException , "ObjectReadOnlyException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@id='txtReadOnly']/").append("Some Text") } assert_raises(ObjectDisabledException , "ObjectReadOnlyException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@name='txtDisabled']/").append("Some Text") } assert_raises(UnknownObjectException , "ObjectReadOnlyException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@name='missing_field']/").append("Some Text") } browser.text_field(:xpath , "//textarea[@name='txtMultiLine1']/").set("watir IE Controller") assert_equal( "watir IE Controller" , browser.text_field(:xpath , "//textarea[@name='txtMultiLine1']/").value ) assert_raises(ObjectReadOnlyException , "ObjectReadOnlyException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@id='txtReadOnly']/").append("Some Text") } assert_raises(ObjectDisabledException , "ObjectReadOnlyException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@name='txtDisabled']/").append("Some Text") } assert_raises(UnknownObjectException , "ObjectReadOnlyException was supposed to be thrown" ) { browser.text_field(:xpath , "//textarea[@name='missing_field']/").append("Some Text") } browser.text_field(:xpath , "//textarea[@name='txtMultiLine2']/").clear assert_equal( "" , browser.text_field(:xpath , "//textarea[@name='txtMultiLine2']/").value ) end end