Reviewers: Mads Ager,
Message:
Mads,
may you have a look?
yours,
anton.
Description:
Add a check that accessors set to instance template work even if we have a
custom call handler.
Please review this at http://codereview.chromium.org/3526008/show
Affected files:
M test/cctest/test-api.cc
Index: test/cctest/test-api.cc
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
index
527c9a38cc42caa5daa7acbce8cc3c750d3919fe..cfca82f0ac1e699501d7df383dca4e7036f300be
100644
--- a/test/cctest/test-api.cc
+++ b/test/cctest/test-api.cc
@@ -766,6 +766,12 @@ static v8::Handle<Value> construct_call(const
v8::Arguments& args) {
return args.This();
}
+static v8::Handle<Value> Get239(Local<String> name, const AccessorInfo&) {
+ ApiTestFuzzer::Fuzz();
+ return v8_num(239);
+}
+
+
THREADED_TEST(FunctionTemplate) {
v8::HandleScope scope;
LocalContext env;
@@ -792,6 +798,7 @@ THREADED_TEST(FunctionTemplate) {
Local<v8::FunctionTemplate> fun_templ =
v8::FunctionTemplate::New(construct_call);
fun_templ->SetClassName(v8_str("funky"));
+ fun_templ->InstanceTemplate()->SetAccessor(v8_str("m"), Get239);
Local<Function> fun = fun_templ->GetFunction();
env->Global()->Set(v8_str("obj"), fun);
Local<Script> script = v8_compile("var s = new obj(); s.x");
@@ -799,6 +806,9 @@ THREADED_TEST(FunctionTemplate) {
Local<Value> result = v8_compile("(new obj()).toString()")->Run();
CHECK_EQ(v8_str("[object funky]"), result);
+
+ result = v8_compile("(new obj()).m")->Run();
+ CHECK_EQ(239, result->Int32Value());
}
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev