2012-06-07 08:37:46 -05:00
|
|
|
# encoding: UTF-8
|
2012-05-15 16:24:58 -05:00
|
|
|
require 'spec_helper'
|
|
|
|
|
2012-06-05 08:00:04 -05:00
|
|
|
describe V8::C::Script do
|
2012-05-15 16:24:58 -05:00
|
|
|
it "can run a script and return a polymorphic result" do
|
2012-06-05 08:00:04 -05:00
|
|
|
source = V8::C::String::New("(new Array())")
|
|
|
|
filename = V8::C::String::New("<eval>")
|
|
|
|
script = V8::C::Script::New(source, filename)
|
|
|
|
result = script.Run()
|
|
|
|
result.should be_kind_of V8::C::Array
|
2012-05-15 16:24:58 -05:00
|
|
|
end
|
2012-06-07 08:37:46 -05:00
|
|
|
|
|
|
|
it "can accept precompiled script data" do
|
|
|
|
source = "7 * 6"
|
|
|
|
name = V8::C::String::New("<spec>")
|
|
|
|
origin = V8::C::ScriptOrigin.new(name)
|
|
|
|
data = V8::C::ScriptData::PreCompile(source, source.length)
|
|
|
|
data.HasError().should be_false
|
|
|
|
script = V8::C::Script::New(V8::C::String::New(source), origin, data)
|
|
|
|
script.Run().should eql 42
|
|
|
|
end
|
|
|
|
|
|
|
|
it "can detect errors in the script data" do
|
|
|
|
source = "^ = ;"
|
|
|
|
data = V8::C::ScriptData::PreCompile(source, source.length)
|
|
|
|
data.HasError().should be_true
|
|
|
|
end
|
2012-05-15 16:24:58 -05:00
|
|
|
end
|