| Index: test/cctest/test-api.cc
|
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
|
| index 849833e58018e9714ff82228bacfdaf138461993..2fd67d834685b35494f5c539c7981e9e189d5811 100644
|
| --- a/test/cctest/test-api.cc
|
| +++ b/test/cctest/test-api.cc
|
| @@ -21445,21 +21445,35 @@ TEST(StrongObjectDelete) {
|
| }
|
|
|
|
|
| +static void ExtrasExportsTestRuntimeFunction(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| + CHECK_EQ(3, args[0]->Int32Value());
|
| + args.GetReturnValue().Set(v8_num(7));
|
| +}
|
| +
|
| +
|
| TEST(ExtrasExportsObject) {
|
| v8::Isolate* isolate = CcTest::isolate();
|
| v8::HandleScope handle_scope(isolate);
|
| LocalContext env;
|
|
|
| // standalone.gypi ensures we include the test-extra.js file, which should
|
| - // add the testExtraShouldReturnFive export
|
| + // export the tested functions.
|
| v8::Local<v8::Object> exports = env->GetExtrasExportsObject();
|
|
|
| auto func =
|
| exports->Get(v8_str("testExtraShouldReturnFive")).As<v8::Function>();
|
| auto undefined = v8::Undefined(isolate);
|
| auto result = func->Call(undefined, 0, {}).As<v8::Number>();
|
| -
|
| - CHECK(result->Value() == 5.0);
|
| + CHECK_EQ(5, result->Int32Value());
|
| +
|
| + v8::Handle<v8::FunctionTemplate> runtimeFunction =
|
| + v8::FunctionTemplate::New(isolate, ExtrasExportsTestRuntimeFunction);
|
| + exports->Set(v8_str("runtime"), runtimeFunction->GetFunction());
|
| + func =
|
| + exports->Get(v8_str("testExtraShouldCallToRuntime")).As<v8::Function>();
|
| + result = func->Call(undefined, 0, {}).As<v8::Number>();
|
| + CHECK_EQ(7, result->Int32Value());
|
| }
|
|
|
|
|
|
|