| Index: test/cctest/test-api.cc
|
| ===================================================================
|
| --- test/cctest/test-api.cc (revision 1700)
|
| +++ test/cctest/test-api.cc (working copy)
|
| @@ -2495,6 +2495,44 @@
|
| }
|
|
|
|
|
| +static const char* kEvalExtensionSource =
|
| + "function UseEval() {"
|
| + " var x = 42;"
|
| + " return eval('x');"
|
| + "}";
|
| +
|
| +
|
| +THREADED_TEST(UseEvalFromExtension) {
|
| + v8::HandleScope handle_scope;
|
| + v8::RegisterExtension(new Extension("evaltest", kEvalExtensionSource));
|
| + const char* extension_names[] = { "evaltest" };
|
| + 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("UseEval()"))->Run();
|
| + CHECK_EQ(result, v8::Integer::New(42));
|
| +}
|
| +
|
| +
|
| +static const char* kWithExtensionSource =
|
| + "function UseWith() {"
|
| + " var x = 42;"
|
| + " with({x:87}) { return x; }"
|
| + "}";
|
| +
|
| +
|
| +THREADED_TEST(UseWithFromExtension) {
|
| + v8::HandleScope handle_scope;
|
| + v8::RegisterExtension(new Extension("withtest", kWithExtensionSource));
|
| + const char* extension_names[] = { "withtest" };
|
| + 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("UseWith()"))->Run();
|
| + CHECK_EQ(result, v8::Integer::New(87));
|
| +}
|
| +
|
| +
|
| THREADED_TEST(AutoExtensions) {
|
| v8::HandleScope handle_scope;
|
| Extension* extension = new Extension("autotest", kSimpleExtensionSource);
|
|
|