require 'mechanize/test_case' class TestMechanizePage < Mechanize::TestCase def setup super @uri = URI 'http://example/' end def test_initialize_bad_content_type e = assert_raises Mechanize::ContentTypeError do Mechanize::Page.new(URI('http://example/'), { 'content-type' => 'text/xml' }, 'hello', '200') end assert_equal('text/xml', e.content_type) end def test_frames page = html_page <<-BODY A simple frameset document BODY assert_equal 3, page.frames.size assert_equal "frame1", page.frames[0].name assert_equal "/google.html", page.frames[0].src assert_equal "Google", page.frames[0].content.title assert_equal "frame2", page.frames[1].name assert_equal "/form_test.html", page.frames[1].src assert_equal "Page Title", page.frames[1].content.title assert_equal "frame3", page.frames[2].name assert_equal "/file_upload.html", page.frames[2].src assert_equal "File Upload Form", page.frames[2].content.title end def test_iframes page = html_page <<-BODY A simple frameset document BODY assert_equal 1, page.iframes.size assert_equal "frame4", page.iframes.first.name assert_equal "/file_upload.html", page.iframes.first.src assert_equal "File Upload Form", page.iframes.first.content.title end def test_images page = html_page <<-BODY BODY assert_equal page.images.first.url, "http://example/a.jpg" end def test_images_base page = html_page <<-BODY BODY assert_equal page.images.first.url, "http://other.example/a.jpg" end def test_links page = html_page <<-BODY BODY assert_equal page.links.first.href, "foo.html" end def test_parser_no_attributes page = html_page <<-BODY Hello
BODY # HACK weak assertion assert_kind_of Nokogiri::HTML::Document, page.root end end