Sha256: 391102602c2cc9ee249d31ad260787c3b7982dc8f04e7281be2cc7afa538fc40

Contents?: true

Size: 1.7 KB

Versions: 34

Compression:

Stored size: 1.7 KB

Contents

require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")

describe "save_and_open_page" do
  before do
    with_html <<-HTML
      <html>
        <head>
          <link href="/stylesheets/foo.css" media="screen" rel="stylesheet" type="text/css" />
        </head>
        <body>
          <h1>Hello world</h1>
          <img src="/images/bar.png" />
          <img src='/images/foo.png' />
        </body>
      </html>
    HTML

    File.stub!(:exist? => true)
    Time.stub!(:now => 1234)

    require "launchy"
    Launchy::Browser.stub!(:run)

    @file_handle = mock("file handle")
    File.stub!(:open).with(filename, 'w').and_yield(@file_handle)
    @file_handle.stub!(:write)
  end

  it "should rewrite css rules" do
    @file_handle.should_receive(:write) do |html|
      html.should =~ %r|"#{webrat_session.doc_root}/stylesheets/foo.css"|s
    end

    save_and_open_page
  end

  it "should rewrite image paths with double quotes" do
    @file_handle.should_receive(:write) do |html|
      html.should =~ %r|"#{webrat_session.doc_root}/images/bar.png"|s
    end

    save_and_open_page
  end

  it "should rewrite image paths with single quotes" do
    @file_handle.should_receive(:write) do |html|
      html.should =~ %r|'#{webrat_session.doc_root}/images/foo.png'|s
    end

    save_and_open_page
  end

  it "should open the temp file in a browser with Launchy" do
    Launchy::Browser.should_receive(:run)
    save_and_open_page
  end

  it "should fail gracefully if Launchy is not available" do
    Launchy::Browser.should_receive(:run).and_raise(LoadError)

    lambda do
      save_and_open_page
    end.should_not raise_error
  end

  def filename
    File.expand_path("./webrat-#{Time.now}.html")
  end

end

Version data entries

34 entries across 34 versions & 14 rubygems

Version Path
diabolo-webrat-0.5.1 spec/public/save_and_open_spec.rb
dstrelau-webrat-0.5.1 spec/public/save_and_open_spec.rb
emipair-webrat-0.0.1 spec/public/save_and_open_spec.rb
hardbap-webrat-0.5.1 spec/public/save_and_open_spec.rb
hardbap-webrat-0.5.2 spec/public/save_and_open_spec.rb
winton-sum-0.1.0 vendor/webrat/spec/public/save_and_open_spec.rb
winton-sum-0.1.1 vendor/webrat/spec/public/save_and_open_spec.rb
darkofabijan-webrat-0.6.1 spec/public/save_and_open_spec.rb
kbaum-webrat-0.5.1 spec/public/save_and_open_spec.rb
kbaum-webrat-0.6.1.pre spec/public/save_and_open_spec.rb
cynergy-webrat-0.6.0 spec/public/save_and_open_spec.rb
webrat-0.6.0 spec/public/save_and_open_spec.rb
radar-webrat-0.5.1.1 spec/public/save_and_open_spec.rb
radar-webrat-0.5.1 spec/public/save_and_open_spec.rb
sum-0.1.1 vendor/webrat/spec/public/save_and_open_spec.rb
mkuklis-webrat-0.5.1 spec/public/save_and_open_spec.rb
emipair-webrat-0.5.3 spec/public/save_and_open_spec.rb
honkster-webrat-0.6.0 spec/public/save_and_open_spec.rb
webrat-0.5.3 spec/public/save_and_open_spec.rb
webrat-0.5.1 spec/public/save_and_open_spec.rb