Created
April 24, 2013 15:13
-
-
Save timtyrrell/5452893 to your computer and use it in GitHub Desktop.
Tried to plug therubyrhino into handbars.rb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
± rake | |
/Users/ttyrrell/.rvm/rubies/jruby-1.7.3/bin/jruby -S rspec ./spec/handlebars_spec.rb../Users/ttyrrell/.rvm/gems/jruby-1.7.3@handlbarsrb/gems/rspec-core-2.13.1/lib/rspec/core/example.rb:275 warning: singleton on non-persistent Java type Java::OrgMozillaJavascript::EcmaError (http://wiki.j | |
ruby.org/Persistence)F.F..F... | |
Failures: | |
1) Handlebars::Context a simple template can use any Ruby object as a context | |
Failure/Error: Unable to find matching line from backtrace Java::OrgMozillaJavascript::EcmaError: | |
TypeError: Cannot find default value for object. (/Users/ttyrrell/code/handlebars.rb/vendor/handlebars/lib/handlebars/compiler/compiler.js#550(Function)#8) | |
# org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687) # org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665) | |
# org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3693) # org.mozilla.javascript.ScriptRuntime.typeError1(ScriptRuntime.java:3705) | |
# org.mozilla.javascript.ScriptableObject.getDefaultValue(ScriptableObject.java:976) # org.mozilla.javascript.ScriptableObject.getDefaultValue(ScriptableObject.java:895) | |
# org.mozilla.javascript.ScriptRuntime.toString(ScriptRuntime.java:761) # org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:3774) | |
# org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThisHelper(ScriptRuntime.java:2269) # org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2251) | |
# org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1317) # org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815) | |
# org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109) | |
# org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430) | |
# org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269) # org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97) | |
# org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_runtime_js_30._c_anonymous_4(./vendor/handlebars/lib/handlebars/runtime.js:29) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_runtime_js_30.call(./vendor/handlebars/lib/handlebars/runtime.js) | |
# org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430) | |
# org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269) | |
# org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97) | |
# org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_compiler_compiler_js_29._c_anonymous_94(./vendor/handlebars/lib/handlebars/compiler/compiler.js:1262) # org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_compiler_compiler_js_29.call(./vendor/handlebars/lib/handlebars/compiler/compiler.js) | |
# org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) | |
# org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_compiler_compiler_js_29.call(./vendor/handlebars/lib/handlebars/compiler/compiler.js) | |
# sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) | |
# sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | |
# java.lang.reflect.Method.invoke(Method.java:597) | |
# org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:425) | |
# org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:292) | |
# org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:44) | |
# org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:76) | |
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:296) | |
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) | |
# org.jruby.ast.FCallManyArgsNode.interpret(FCallManyArgsNode.java:60) | |
# org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) | |
# org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
# org.jruby.ast.BlockNode.interpret(BlockNode.java:71) | |
# org.jruby.ast.RescueNode.executeBody(RescueNode.java:224) | |
# org.jruby.ast.RescueNode.interpret(RescueNode.java:119) | |
# org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96) | |
# org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) | |
# org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182) | |
# org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:188) | |
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) | |
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) | |
...................more | |
2) Handlebars::Context registering Helpers doesn't nee a context or arguments to the call | |
Failure/Error: Unable to find matching line from backtrace | |
Java::OrgMozillaJavascript::EcmaError: | |
TypeError: Cannot read property "twice" from undefined (/Users/ttyrrell/code/handlebars.rb/vendor/handlebars/lib/handlebars/compiler/compiler.js#550(Function)#13) | |
# org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687) | |
# org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665) | |
# org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3693) | |
# org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3712) | |
# org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3725) | |
# org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1483) | |
# org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1239) | |
# org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815) | |
# org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109) | |
# org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430) | |
# org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269) | |
# org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97) | |
# org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_runtime_js_50._c_anonymous_4(./vendor/handlebars/lib/handlebars/runtime.js:29) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_runtime_js_50.call(./vendor/handlebars/lib/handlebars/runtime.js) | |
# org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430) | |
# org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269) | |
# org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97) | |
# org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_compiler_compiler_js_49._c_anonymous_94(./vendor/handlebars/lib/handlebars/compiler/compiler.js:1262) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_compiler_compiler_js_49.call(./vendor/handlebars/lib/handlebars/compiler/compiler.js) | |
# org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) | |
# org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) | |
# org.mozilla.javascript.gen._Users_ttyrrell_code_handlebars_rb_vendor_handlebars_lib_handlebars_compiler_compiler_js_49.call(./vendor/handlebars/lib/handlebars/compiler/compiler.js) | |
# sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) | |
# sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | |
# java.lang.reflect.Method.invoke(Method.java:597) | |
# org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:425) | |
# org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:292) | |
# org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:44) | |
# org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:76) | |
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:296) | |
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) | |
# org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:38) | |
# org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:141) | |
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) | |
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) | |
# org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:65) | |
# org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) | |
# org.jruby.ast.BlockNode.interpret(BlockNode.java:71) | |
# org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96) | |
# org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:75) | |
# org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139) | |
# org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172) | |
# org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306) | |
# org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136) | |
# org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:64) | |
...................more | |
3) Handlebars::Context dynamically loading partial can be done with a function | |
Failure/Error: compile("I am {{>missing}}").call(:what => 'shoes').should eql "I am unable to find my missing shoes" | |
Rhino::JSError: | |
NoMethodError: undefined method `what' for #<Java::OrgMozillaJavascript::NativeObject:0x79b2dc6> | |
# at ./vendor/handlebars/lib/handlebars/runtime.js:75 (anonymous) | |
# at ./vendor/handlebars/lib/handlebars/compiler/compiler.js#550(Function):7 (anonymous) | |
# at ./vendor/handlebars/lib/handlebars/runtime.js:29 (anonymous) | |
# at ./vendor/handlebars/lib/handlebars/compiler/compiler.js:1262 (anonymous) | |
# ./lib/handlebars/template.rb:10:in `call' | |
# ./spec/handlebars_spec.rb:64:in `(root)' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment