Index: test/cctest/test-api.cc |
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc |
index b0369938846bd02ecdbeb631b527af1e489e30bb..d81624b31540683dc2380fa11c7964b8934a198b 100644 |
--- a/test/cctest/test-api.cc |
+++ b/test/cctest/test-api.cc |
@@ -6511,6 +6511,47 @@ THREADED_TEST(Equality) { |
CHECK(!v8::False(isolate)->SameValue(v8::Undefined(isolate))); |
} |
+THREADED_TEST(TypeOf) { |
+ LocalContext context; |
+ v8::Isolate* isolate = context->GetIsolate(); |
+ v8::HandleScope scope(context->GetIsolate()); |
+ |
+ Local<v8::FunctionTemplate> t1 = v8::FunctionTemplate::New(isolate); |
+ Local<v8::Function> fun = t1->GetFunction(context.local()).ToLocalChecked(); |
+ |
+ CHECK(v8::Value::TypeOf(context.local(), v8::Undefined(isolate)) |
+ .ToLocalChecked() |
+ ->Equals(context.local(), v8_str("undefined")) |
+ .FromJust()); |
+ CHECK(v8::Value::TypeOf(context.local(), v8::Null(isolate)) |
+ .ToLocalChecked() |
+ ->Equals(context.local(), v8_str("object")) |
+ .FromJust()); |
+ CHECK(v8::Value::TypeOf(context.local(), v8_str("str")) |
+ .ToLocalChecked() |
+ ->Equals(context.local(), v8_str("string")) |
+ .FromJust()); |
+ CHECK(v8::Value::TypeOf(context.local(), v8_num(0.0)) |
+ .ToLocalChecked() |
+ ->Equals(context.local(), v8_str("number")) |
+ .FromJust()); |
+ CHECK(v8::Value::TypeOf(context.local(), v8_num(1)) |
+ .ToLocalChecked() |
+ ->Equals(context.local(), v8_str("number")) |
+ .FromJust()); |
+ CHECK(v8::Value::TypeOf(context.local(), v8::Object::New(isolate)) |
+ .ToLocalChecked() |
+ ->Equals(context.local(), v8_str("object")) |
+ .FromJust()); |
+ CHECK(v8::Value::TypeOf(context.local(), v8::Boolean::New(isolate, true)) |
+ .ToLocalChecked() |
+ ->Equals(context.local(), v8_str("boolean")) |
+ .FromJust()); |
+ CHECK(v8::Value::TypeOf(context.local(), fun) |
+ .ToLocalChecked() |
+ ->Equals(context.local(), v8_str("function")) |
+ .FromJust()); |
+} |
THREADED_TEST(MultiRun) { |
LocalContext context; |