diff --git a/ext/v8/object.cc b/ext/v8/object.cc index c228c66..c53e5f7 100644 --- a/ext/v8/object.cc +++ b/ext/v8/object.cc @@ -134,7 +134,7 @@ Object::operator VALUE() { // return Function(handle); } if (handle->IsArray()) { - return Array(handle); + return Array((v8::Handle)v8::Array::Cast(*handle)); } if (handle->IsDate()) { // return Date(handle); diff --git a/spec/c/script_spec.rb b/spec/c/script_spec.rb index eb4dc89..0dfdd52 100644 --- a/spec/c/script_spec.rb +++ b/spec/c/script_spec.rb @@ -10,11 +10,11 @@ describe V8::C::External do end it "can run a script and return a polymorphic result" do V8::C::HandleScope() do - source = V8::C::String::New("(new Object())") + source = V8::C::String::New("(new Array())") filename = V8::C::String::New("") script = V8::C::Script::New(source, filename) result = script.Run() - result.should be_kind_of V8::C::Object + result.should be_kind_of V8::C::Array end end end \ No newline at end of file