Index: test/cctest/test-code-stub-assembler.cc |
diff --git a/test/cctest/test-code-stub-assembler.cc b/test/cctest/test-code-stub-assembler.cc |
index 8fb709eff8ae627e83475af7f2bb3814df96498d..ea44b2f5f5abac53c97384370dd9880b0387f92b 100644 |
--- a/test/cctest/test-code-stub-assembler.cc |
+++ b/test/cctest/test-code-stub-assembler.cc |
@@ -2103,5 +2103,52 @@ TEST(AllocatePromiseReactionJobInfo) { |
CHECK(promise_info->debug_name()->IsUndefined(isolate)); |
} |
+TEST(IsSymbol) { |
+ Isolate* isolate(CcTest::InitIsolateOnce()); |
+ |
+ const int kNumParams = 1; |
+ CodeAssemblerTester data(isolate, kNumParams); |
+ CodeStubAssembler m(data.state()); |
+ |
+ Node* const symbol = m.Parameter(0); |
+ m.Return(m.SelectBooleanConstant(m.IsSymbol(symbol))); |
+ |
+ Handle<Code> code = data.GenerateCode(); |
+ CHECK(!code.is_null()); |
+ |
+ FunctionTester ft(code, kNumParams); |
+ Handle<Object> result = |
+ ft.Call(isolate->factory()->NewSymbol()).ToHandleChecked(); |
+ CHECK_EQ(isolate->heap()->true_value(), *result); |
+ |
+ result = ft.Call(isolate->factory()->empty_string()).ToHandleChecked(); |
+ CHECK_EQ(isolate->heap()->false_value(), *result); |
+} |
+ |
+TEST(IsPrivateSymbol) { |
+ Isolate* isolate(CcTest::InitIsolateOnce()); |
+ |
+ const int kNumParams = 1; |
+ CodeAssemblerTester data(isolate, kNumParams); |
+ CodeStubAssembler m(data.state()); |
+ |
+ Node* const symbol = m.Parameter(0); |
+ m.Return(m.SelectBooleanConstant(m.IsPrivateSymbol(symbol))); |
+ |
+ Handle<Code> code = data.GenerateCode(); |
+ CHECK(!code.is_null()); |
+ |
+ FunctionTester ft(code, kNumParams); |
+ Handle<Object> result = |
+ ft.Call(isolate->factory()->NewSymbol()).ToHandleChecked(); |
+ CHECK_EQ(isolate->heap()->false_value(), *result); |
+ |
+ result = ft.Call(isolate->factory()->empty_string()).ToHandleChecked(); |
+ CHECK_EQ(isolate->heap()->false_value(), *result); |
+ |
+ result = ft.Call(isolate->factory()->NewPrivateSymbol()).ToHandleChecked(); |
+ CHECK_EQ(isolate->heap()->true_value(), *result); |
+} |
+ |
} // namespace internal |
} // namespace v8 |