Sha256: 0a1408d1d1f22605c420d03e3af8744b01d6f023ceb0b8e859813ea36cd05b07

Contents?: true

Size: 1.74 KB

Versions: 8

Compression:

Stored size: 1.74 KB

Contents

require File.join(File.dirname(__FILE__), "..", "..", "test_helper.rb")

describe "Relevance::Tarantula::HtmlDocumentHandler" do
  
  before do
    @handler = Relevance::Tarantula::HtmlDocumentHandler.new(nil)
  end
  
  it "does not write HTML Scanner warnings to the console" do
    bad_html = "<html><div></form></html>"    
    err = Recording.stderr do
      @handler.handle(Relevance::Tarantula::Result.new(:response => stub(:html? => true, :body => bad_html)))
    end
    err.should == ""
  end
  
  it "ignores non-html" do
    @handler.expects(:queue_link).never
    @handler.handle(Relevance::Tarantula::Result.new(:response => stub(:html? => false, :body => '<a href="/foo">foo</a>')))
  end
  
  it "queues anchor tags" do
    @handler.expects(:queue_link).with {|*args| args[0]['href'] == "/foo" && args[1] == nil}
    @handler.handle(Relevance::Tarantula::Result.new(:response => stub(:html? => true, :body => '<a href="/foo">foo</a>')))
  end

  it "queues link tags" do
    @handler.expects(:queue_link).with {|*args| args[0]['href'] == "/bar" && args[1] == nil}
    @handler.handle(Relevance::Tarantula::Result.new(:response => stub(:html? => true, :body => '<link href="/bar">bar</a>')))
  end
  
  it "queues forms" do
    @handler.expects(:queue_form).with{|tag,referrer| Hpricot::Elem === tag}
    @handler.handle(Relevance::Tarantula::Result.new(:url => "/page-url", :response => stub(:html? => true, :body => '<form>stuff</form>')))
  end
  
  it "infers form action from page url if form is not explicit" do
    @handler.expects(:queue_form).with{|tag,referrer| tag['action'].should == '/page-url'; true }
    @handler.handle(Relevance::Tarantula::Result.new(:url => "/page-url", :response => stub(:html? => true, :body => '<form>stuff</form>')))
  end
  
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
relevance-tarantula-0.0.5 test/relevance/tarantula/html_document_handler_test.rb
relevance-tarantula-0.0.6 test/relevance/tarantula/html_document_handler_test.rb
relevance-tarantula-0.0.7.1 test/relevance/tarantula/html_document_handler_test.rb
relevance-tarantula-0.0.7 test/relevance/tarantula/html_document_handler_test.rb
relevance-tarantula-0.0.8.0 test/relevance/tarantula/html_document_handler_test.rb
relevance-tarantula-0.0.8.1 test/relevance/tarantula/html_document_handler_test.rb
tarantula-0.0.5 test/relevance/tarantula/html_document_handler_test.rb
tarantula-0.0.8.1 test/relevance/tarantula/html_document_handler_test.rb