Sha256: 342c81b0db384b08293a9171664b4587490ca08553cefb28522befefee2fed3e
Contents?: true
Size: 1.95 KB
Versions: 1
Compression:
Stored size: 1.95 KB
Contents
require 'spec_helper' require 'h8' describe 'coffeescript' do Cs_0 = <<-END test = (a, b) -> "result: \#{a} \#{b}" return test('coffee', 'rules') END Res_0 = 'result: coffee rules' it 'should compile and execute' do c = H8::Coffee.new H8::Context.eval(c.compile(Cs_0)).should == Res_0 c.eval(Cs_0).should == Res_0 c.eval(Cs_0).should == Res_0 end it 'should provide compiler singleton' do H8::Coffee.eval(Cs_0).should == Res_0 H8::Coffee.eval(Cs_0).should == Res_0 H8::Context.eval(H8::Coffee.compile Cs_0).should == Res_0 H8::Context.eval(H8::Coffee.compile Cs_0).should == Res_0 H8::Context.new.coffee(Cs_0).should == Res_0 end it 'should report syntax errors' do script = <<-END # Started: ok square = (x) -> x*x # so far so good but then... baljkhl9399-^& # above is bad END # pending expect(->{ H8::Coffee.compile script, file_name: 'test.coffee' }).to raise_error(H8::JsError) { |e| e.to_s.should =~ /test.coffee\:4/ } end it 'should report exceptions' do src = <<-END fnb = -> throw new Error 'lets check' fna = -> fnb() CoffeeScript.getSourceMap = (name) -> puts "DUMMUY \#{name}" undefined # fna() puts globalsIncluded END script = <<-END function require(name) { puts("REQ! "+name); } var res = CoffeeScript.compile(src, {sourceMap: true, filename: 'inner.coffee'}); //var sourceMaps = { 'inner.coffee' : res.sourceMap } // puts("Compiled ok",JSON.stringify(CoffeeScript.sourceMaps)); // CoffeeScript.sourceMaps['inner'] = res.sourceMap eval(res.js); END cxt = H8::Coffee.new.context cxt[:puts] = -> (*args) { puts args.join(' ') } cxt[:src] = src # cxt[:src] = 'return "hello"' begin res = cxt.eval script, file_name: 'extest.coffee' p res rescue Exception=>e puts e end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
h8-0.2.3 | spec/coffee_spec.rb |