# feature tests for Images # revision: $Revision: 1.0 $ $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') if $0 == __FILE__ require 'unittests/setup' require 'ftools' require 'webrick' class TC_Images < Test::Unit::TestCase include FireWatir def setup $ff.goto($htmlRoot + "images1.html") @saved_img_path = build_path("sample.img.dat"); clean_saved_image end def teardown clean_saved_image end # def test_show_all_objects # $ff.show_all_objects # end def test_imageExists assert( ! $ff.image(:name , "missing_name").exists? ) assert( $ff.image(:name , "circle").exists? ) assert( $ff.image(:name , /circ/ ).exists? ) assert( ! $ff.image(:id , "missing_id").exists? ) assert( $ff.image(:id , "square").exists? ) assert( $ff.image(:id , /squ/ ).exists? ) assert( ! $ff.image(:src, "missingsrc.gif").exists? ) assert( $ff.image(:src, /images\/triangle.jpg/).exists? ) assert( $ff.image(:src , /triangle/ ).exists? ) assert( $ff.image(:alt , "circle" ).exists? ) assert( $ff.image(:alt , /cir/ ).exists? ) assert( ! $ff.image(:alt , "triangle" ).exists? ) assert( ! $ff.image(:alt , /tri/ ).exists? ) assert( $ff.image(:title, 'square_image').exists? ) assert( ! $ff.image(:title, 'pentagram').exists? ) end def test_image_click assert_raises(UnknownObjectException ) { $ff.image(:name, "no_image_with_this").click } assert_raises(UnknownObjectException ) { $ff.image(:id, "no_image_with_this").click } assert_raises(UnknownObjectException ) { $ff.image(:src, "no_image_with_this").click} assert_raises(UnknownObjectException ) { $ff.image(:alt, "no_image_with_this").click} # test for bug 1882 $ff.text_field(:name , "text1").clear $ff.button(:value , /Pos/ ).click assert_equal('clicked' , $ff.text_field(:name , "text1" ).value ) # test for disabled button. Click the button to make it disabled $ff.button(:name , 'disable_img').click assert( $ff.image(:name , 'disabler_test').disabled ) # Click button again to make it enabled. $ff.button(:name , 'disable_img').click assert( ! $ff.image(:name , 'disabler_test').disabled ) $ff.image(:src, /button/).click #assert($ff.text.include?("PASS") ) assert($ff.contains_text("PASS") ) end # TODO: Need to see alternative for this in Mozilla #def test_imageHasLoaded # assert_raises(UnknownObjectException ) { $ff.image(:name, "no_image_with_this").hasLoaded? } # assert_raises(UnknownObjectException ) { $ff.image(:id, "no_image_with_this").hasLoaded? } # assert_raises(UnknownObjectException ) { $ff.image(:src, "no_image_with_this").hasLoaded? } # assert_raises(UnknownObjectException ) { $ff.image(:alt, "no_image_with_this").hasLoaded? } # # assert( ! $ff.image(:name, "themissingimage").hasLoaded? ) # assert( $ff.image(:name, "circle").hasLoaded? ) # # assert( $ff.image(:alt, "circle").hasLoaded? ) # assert( $ff.image(:alt, /cir/ ).hasLoaded? ) #end def test_image_properties # TODO: Need to see alternative for this in Mozilla #assert_raises(UnknownObjectException ) { $ff.image(:name, "no_image_with_this").hasLoaded? } #assert_raises(UnknownObjectException ) { $ff.image(:id, "no_image_with_this").hasLoaded? } #assert_raises(UnknownObjectException ) { $ff.image(:src, "no_image_with_this").hasLoaded? } #assert_raises(UnknownObjectException ) { $ff.image(:index, 82).hasLoaded? } assert_raises(UnknownObjectException ) { $ff.image(:index, 82).name } assert_raises(UnknownObjectException ) { $ff.image(:index, 82).id } assert_raises(UnknownObjectException ) { $ff.image(:index, 82).src } assert_raises(UnknownObjectException ) { $ff.image(:index, 82).value } assert_raises(UnknownObjectException ) { $ff.image(:index, 82).height } assert_raises(UnknownObjectException ) { $ff.image(:index, 82).width } # TODO: Need to see alternative for this in Mozilla #assert_raises(UnknownObjectException ) { $ff.image(:index, 82).fileCreatedDate } #assert_raises(UnknownObjectException ) { $ff.image(:index, 82).fileSize } assert_raises(UnknownObjectException ) { $ff.image(:index, 82).alt} assert_raises(UnknownObjectException ) { $ff.image(:index, 82).title} assert_equal( "" , $ff.image(:index, 2).name ) assert_equal( "square" , $ff.image(:index, 2).id ) assert_match( /square\.jpg/i ,$ff.image(:index, 2).src ) assert_equal( "" , $ff.image(:index, 2).value ) assert_equal( "88" , $ff.image(:index, 2).height ) assert_equal( "88" , $ff.image(:index, 2).width ) # this line fails, as the date is when it is installed on the local oc, not the date the file was really created #assert_equal( "03/10/2005" , $ff.image(:index, 2).fileCreatedDate ) #assert_equal( "788", $ff.image(:index, 2).fileSize ) # tool tips: alt text + title assert_equal('circle' , $ff.image(:index, 6).alt) assert_equal( "" , $ff.image(:index, 2).alt) assert_equal('square_image', $ff.image(:id, 'square').title) # to string tests -- output should be verified! puts $ff.image(:name , "circle").to_s puts $ff.image(:index , 2).to_s end def test_image_iterator assert_equal(6 , $ff.images.length) assert_equal("" , $ff.images[2].name ) assert_equal("square", $ff.images[2].id ) assert_match(/square/, $ff.images[2].src ) index = 1 $ff.images.each do |i| assert_equal( $ff.image(:index, index).id , i.id ) assert_equal( $ff.image(:index, index).name , i.name ) assert_equal( $ff.image(:index, index).src , i.src ) assert_equal( $ff.image(:index, index).height , i.height.to_s ) assert_equal( $ff.image(:index, index).width , i.width.to_s ) index+=1 end assert_equal( index-1 , $ff.images.length ) end #def test_save_local_image # $ff.images[1].save(build_windows_path("sample.img.dat")) # assert(File.compare(@saved_img_path, $ff.images[1].src.gsub(/^file:\/\/\//, ''))) #end def clean_saved_image File.delete(@saved_img_path) if (File.exists?(@saved_img_path)) end def build_windows_path(part) build_path(part).gsub(/\//, "\\") end def build_path(part) "#{$myDir}/#{part}" end end class TC_Images_Display < Test::Unit::TestCase include FireWatir include MockStdoutTestCase def test_showImages $ff.goto($htmlRoot + "images1.html") $stdout = @mockout $ff.showImages assert_equal(<