diff --git a/ext/duktape/duktape_ext.c b/ext/duktape/duktape_ext.c index b4d6228..552ef5c 100644 --- a/ext/duktape/duktape_ext.c +++ b/ext/duktape/duktape_ext.c @@ -4,7 +4,7 @@ static VALUE mDuktape; static VALUE cContext; static VALUE eContextError; -static void error_handler(duk_context *, int); +static void error_handler(duk_context *, int, const char *); static void ctx_dealloc(void *ctx) { @@ -22,7 +22,7 @@ static VALUE ctx_stack_to_value(duk_context *ctx, int index) size_t len; const char *buf; int type; - + type = duk_get_type(ctx, index); switch (type) { case DUK_TYPE_NULL: @@ -162,7 +162,7 @@ static VALUE ctx_call_prop(int argc, VALUE* argv, VALUE self) return res; } -static void error_handler(duk_context *ctx, int code) +static void error_handler(duk_context *ctx, int code, const char *msg) { duk_set_top(ctx, 0); rb_raise(eContextError, "fatal duktape error: %d", code); @@ -181,4 +181,3 @@ void Init_duktape_ext() rb_define_method(cContext, "get_prop", ctx_get_prop, 1); rb_define_method(cContext, "call_prop", ctx_call_prop, -1); } - diff --git a/lib/duktape/version.rb b/lib/duktape/version.rb index 8fbf5aa..5eda388 100644 --- a/lib/duktape/version.rb +++ b/lib/duktape/version.rb @@ -1,4 +1,3 @@ module Duktape - VERSION = "0.11.0.0" + VERSION = "1.0.2.0" end - diff --git a/test/test_duktape.rb b/test/test_duktape.rb index 5d8eceb..48b37ef 100644 --- a/test/test_duktape.rb +++ b/test/test_duktape.rb @@ -4,6 +4,7 @@ require 'minitest' require 'minitest/autorun' require 'duktape' +require 'open-uri' class TestDuktape < Minitest::Spec def setup @@ -150,6 +151,11 @@ def test_bind_constructor obj.value; EOF end + + def test_coffeescript + source = open("http://coffeescript.org/extras/coffee-script.js").read + @ctx.eval_string(source, "coffee-script.js") + @ctx.eval_string("CoffeeScript.compile('square = (x) -> x * x')") + end end end -