Sha256: 2a2076d195c18a51a6e42b0321eded85dade57c34521754721d8f5545d35452d

Contents?: true

Size: 1.59 KB

Versions: 107

Compression:

Stored size: 1.59 KB

Contents

require 'pp'
require 'epitools/browser'

class Mechanize::Page
  def url
    uri.to_s
  end
end


describe Browser do

  before :all do
    @browser = Browser.new
  end

  after :all do
    @browser.cache.delete!
  end

  it "caches javascript" do
    url = "http://code.jquery.com/jquery-1.0.pack.js"
    page = @browser.get(url)
    @browser.cache.get(url).should_not == nil
  end
  
  it "googles" do
    page = @browser.get("http://google.com")
    page.body["Feeling Lucky"].should_not be_empty
  end
  
  it "googles (cached)" do
    lambda{ @browser.get("http://google.com").body }.should_not raise_error
  end
  
  it "delegates" do
    lambda{ @browser.head("http://google.com").body }.should_not raise_error
    @browser.respond_to?(:post).should == true
    @browser.respond_to?(:put).should == true
  end

end



describe Browser::Cache do

  before :all do
    @agent = Mechanize.new
    Browser::Cache.new(@agent).delete!
    @cache = Browser::Cache.new(@agent)
  end

  after :all do
    @cache.delete!
  end

  def new_page(body, url)
    Mechanize::Page.new(
      URI.parse(url),
      {'content-type'=>'text/html'},
      body,
      nil,
      @agent
    )
  end

  it "writes and reads" do
    body = "Blah blah blah."
    url  = "http://example.com/url.html"

    page = new_page(body, url)

    page.body.should == body
    page.url.should == url

    @cache.put page, url
    @cache.urls.size.should == 1
    @cache.includes?(url).should == true

    result = @cache.get url

    body.should == page.body
    body.should == result.body
    url.should == page.url
    url.should == result.url
  end

end

Version data entries

107 entries across 107 versions & 1 rubygems

Version Path
epitools-0.5.98 spec/browser_spec.rb
epitools-0.5.97 spec/browser_spec.rb
epitools-0.5.96 spec/browser_spec.rb
epitools-0.5.95 spec/browser_spec.rb
epitools-0.5.94 spec/browser_spec.rb
epitools-0.5.93 spec/browser_spec.rb
epitools-0.5.92 spec/browser_spec.rb
epitools-0.5.91 spec/browser_spec.rb
epitools-0.5.90 spec/browser_spec.rb
epitools-0.5.89 spec/browser_spec.rb
epitools-0.5.88 spec/browser_spec.rb
epitools-0.5.87 spec/browser_spec.rb
epitools-0.5.86 spec/browser_spec.rb
epitools-0.5.85 spec/browser_spec.rb
epitools-0.5.84 spec/browser_spec.rb
epitools-0.5.83 spec/browser_spec.rb
epitools-0.5.82 spec/browser_spec.rb
epitools-0.5.81 spec/browser_spec.rb
epitools-0.5.79 spec/browser_spec.rb
epitools-0.5.78 spec/browser_spec.rb