Sha256: 24d481ea79dee7811ce09b8c5add7c1b3e82ea24a6f0d6d228988b5600423982

Contents?: true

Size: 940 Bytes

Versions: 6

Compression:

Stored size: 940 Bytes

Contents

require 'spec_helper'
require 'phrender/rack_middleware'
require 'sprockets'

describe 'Phrender::RackMiddleware' do
  let(:root) { File.expand_path '../rack_middleware', __FILE__ }
  let(:backend) {
    b = Sprockets::Environment.new(root)
    b.append_path 'assets'
    b
  }
  let(:app) {
    _backend = backend # Needed because builder changes the block's context
    Rack::Builder.new do
      use Phrender::RackMiddleware, {
        :index_file => 'phrender.html',
        :javascript_files => [
          'app.js'
        ],
        :javascript => [
          "App.run()"
        ]
      }
      run _backend
    end
  }

  it 'runs the app contained in the referenced assets' do
    get('/')
    whitespace_regex = /(\n|^ +)/
    html = '<html><head><title>Phrender The Prerenderer</title></head><body><h1>What a page!</h1><p>Hello!</p></body></html>'
    expect(last_response.body.gsub(whitespace_regex, '')).to eq(html)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
phrender-0.0.7 spec/phrender/rack_middleware_spec.rb
phrender-0.0.6 spec/phrender/rack_middleware_spec.rb
phrender-0.0.5 spec/phrender/rack_middleware_spec.rb
phrender-0.0.4 spec/phrender/rack_middleware_spec.rb
phrender-0.0.3 spec/phrender/rack_middleware_spec.rb
phrender-0.0.2 spec/phrender/rack_middleware_spec.rb