Sha256: 8873652e51f3786395955200a15333a06e0afc0a23fb832df4e277962d13a04a

Contents?: true

Size: 1.34 KB

Versions: 50

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'
require 'phantomjs/poltergeist'

HTML_RESPONSE = <<HTML
  <html>
  <head></head>
  <body>
    <h1>Hello</h1>
    <div id="js">NO JS :(</div>
    <script type="text/javascript">
      document.getElementById('js').innerHTML = 'OMG JS!';
    </script>
  </body>
  </html>
HTML
Capybara.app = lambda {|env| [200, {"Content-Type" => "text/html"}, [HTML_RESPONSE]] }
Capybara.default_driver = :poltergeist

describe Phantomjs do
  describe 'A HTTP request using capybara/poltergeist' do
    include Capybara::DSL

    before { visit '/' }
    it "has displayed static html content" do
      within('h1') { page.should have_content('Hello') }
    end

    it "has processed javascript" do
      within "#js" do
        page.should_not have_content('NO JS :(')
        page.should have_content('OMG JS!')
      end
    end
  end

  describe ".run" do
    it "runs phantomjs binary with the correct arguments" do
      script = File.expand_path('./spec/runner.js')
      result = Phantomjs.run(script, 'foo1', 'foo2')
      result.should eq("bar foo1\nbar foo2\n")
    end

    it "accepts a block that will get called for each line of output" do
      lines = []
      script = File.expand_path('./spec/runner.js')
      Phantomjs.run(script, 'foo1', 'foo2') { |line| lines << line }
      lines.should eq(["bar foo1\n", "bar foo2\n"])
    end
  end
end

Version data entries

50 entries across 36 versions & 6 rubygems

Version Path
tdiary-5.2.4 vendor/bundle/ruby/3.1.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.2.3 vendor/bundle/ruby/3.1.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.2.2 vendor/bundle/ruby/3.1.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.2.1 vendor/bundle/ruby/3.1.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.7 vendor/bundle/ruby/3.0.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.6 vendor/bundle/ruby/3.0.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.5 vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.4 vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.3 vendor/bundle/ruby/2.7.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.3 vendor/bundle/ruby/2.6.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb
tdiary-5.1.2 vendor/bundle/ruby/2.6.0/gems/phantomjs-2.1.1.0/spec/phantomjs_spec.rb