| Index: test/cctest/test-api.cc
|
| ===================================================================
|
| --- test/cctest/test-api.cc (revision 5411)
|
| +++ test/cctest/test-api.cc (working copy)
|
| @@ -3605,6 +3605,29 @@
|
| }
|
|
|
|
|
| +static const char* kNativeCallInExtensionSource =
|
| + "function call_runtime_last_index_of(x) {"
|
| + " return %StringLastIndexOf(x, 'bob', 10);"
|
| + "}";
|
| +
|
| +
|
| +static const char* kNativeCallTest =
|
| + "call_runtime_last_index_of('bobbobboellebobboellebobbob');";
|
| +
|
| +// Test that a native runtime calls are supported in extensions.
|
| +THREADED_TEST(NativeCallInExtensions) {
|
| + v8::HandleScope handle_scope;
|
| + v8::RegisterExtension(new Extension("nativecall",
|
| + kNativeCallInExtensionSource));
|
| + const char* extension_names[] = { "nativecall" };
|
| + v8::ExtensionConfiguration extensions(1, extension_names);
|
| + v8::Handle<Context> context = Context::New(&extensions);
|
| + Context::Scope lock(context);
|
| + v8::Handle<Value> result = Script::Compile(v8_str(kNativeCallTest))->Run();
|
| + CHECK_EQ(result, v8::Integer::New(3));
|
| +}
|
| +
|
| +
|
| static void CheckDependencies(const char* name, const char* expected) {
|
| v8::HandleScope handle_scope;
|
| v8::ExtensionConfiguration config(1, &name);
|
|
|