Index: test/cctest/test-api.cc |
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc |
index f47c997f518462433d693c9ec5904ae3e702022d..2f50188e79171c645b6addad7118a63167f3414f 100644 |
--- a/test/cctest/test-api.cc |
+++ b/test/cctest/test-api.cc |
@@ -4919,7 +4919,9 @@ TEST(TryCatchInTryFinally) { |
static void check_reference_error_message(v8::Handle<v8::Message> message, |
v8::Handle<v8::Value> data) { |
const char* reference_error = "Uncaught ReferenceError: asdf is not defined"; |
- CHECK(message->Get()->Equals(v8_str(reference_error))); |
+ const char* reference_error2 = "Uncaught Error: asdf is not defined"; |
+ CHECK(message->Get()->Equals(v8_str(reference_error)) || |
+ message->Get()->Equals(v8_str(reference_error2))); |
} |
@@ -11444,11 +11446,13 @@ THREADED_TEST(ObjectGetConstructorName) { |
"function Parent() {};" |
"function Child() {};" |
"Child.prototype = new Parent();" |
+ "Child.prototype.constructor = Child;" |
"var outer = { inner: function() { } };" |
"var p = new Parent();" |
"var c = new Child();" |
"var x = new outer.inner();" |
- "var proto = Child.prototype;")->Run(); |
+ "var proto = Child.prototype;") |
+ ->Run(); |
Local<v8::Value> p = context->Global()->Get(v8_str("p")); |
CHECK(p->IsObject() && |
@@ -11470,6 +11474,28 @@ THREADED_TEST(ObjectGetConstructorName) { |
} |
+THREADED_TEST(SubclassGetConstructorName) { |
+ v8::Isolate* isolate = CcTest::isolate(); |
+ LocalContext context; |
+ v8::HandleScope scope(isolate); |
+ v8_compile( |
+ "\"use strict\";" |
+ "class Parent {}" |
+ "class Child extends Parent {}" |
+ "var p = new Parent();" |
+ "var c = new Child();") |
+ ->Run(); |
+ |
+ Local<v8::Value> p = context->Global()->Get(v8_str("p")); |
+ CHECK(p->IsObject() && |
+ p->ToObject(isolate)->GetConstructorName()->Equals(v8_str("Parent"))); |
+ |
+ Local<v8::Value> c = context->Global()->Get(v8_str("c")); |
+ CHECK(c->IsObject() && |
+ c->ToObject(isolate)->GetConstructorName()->Equals(v8_str("Child"))); |
+} |
+ |
+ |
bool ApiTestFuzzer::fuzzing_ = false; |
v8::base::Semaphore ApiTestFuzzer::all_tests_done_(0); |
int ApiTestFuzzer::active_tests_; |