Sha256: 9833c25dea17f395e7050d9151565e775bea381b7738e007ac63ddeeb732ec37
Contents?: true
Size: 1.81 KB
Versions: 1
Compression:
Stored size: 1.81 KB
Contents
require 'lib/spec_helper' require 'rack/test' describe Opal::SimpleServer do include Rack::Test::Methods attr_accessor :app before do Opal.append_path "#{__dir__}/fixtures" self.app = described_class.new(main: 'console') end it 'serves opal assets' do response = get '/assets/console.js' expect(response.body).to eq(Opal::Builder.build('console').to_s) end it 'serves index for all non opal paths' do %w[/ /foo /foo/bar/baz].each do |path| response = get path expect(response.body).to include('<html>') expect(response.body).to include('<script') expect(response.body).to include('src="/assets/console.js') expect(response.headers['Content-type']).to eq('text/html') end end it 'serves the source map for the compiled asset' do response = get '/assets/console.map' expect(response.body).to eq(Opal::Builder.build('console').source_map.to_json) end it 'takes a :prefix option to set the assets prefix' do self.app = described_class.new(main: 'opal', prefix: 'foo') expect(get('/foo/console.js').body).to eq(Opal::Builder.build('console').to_s) self.app = described_class.new(main: 'opal', prefix: '/foo') expect(get('/foo/console.js').body).to eq(Opal::Builder.build('console').to_s) end it 'takes a :main option to set the main asset' do self.app = described_class.new(main: 'foo') expect(get('/').body).to include('src="/assets/foo.js') end it 'respects config set in Opal::Config' do Opal::Config.arity_check_enabled = false expect(get('/assets/console.js').body).not_to include('TMP_Console_clear_1.$$parameters = []') Opal::Config.arity_check_enabled = true self.app = described_class.new(main: 'console') expect(get('/assets/console.js').body).to include('TMP_Console_clear_1.$$parameters = []') end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opal-0.11.0.rc1 | spec/lib/simple_server_spec.rb |