1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 #ifdef TEST_WELL_KNOWN_SYMBOLS
16 #include "jsvmtest.h"
17
TEST(ToStringTag)18 TEST(ToStringTag)
19 {
20 JSVM_Value result;
21 JSVMTEST_CALL(OH_JSVM_GetSymbolToStringTag(env, &result));
22 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.toStringTag")));
23 }
24
TEST(toPrimitive)25 TEST(toPrimitive)
26 {
27 JSVM_Value result;
28 JSVMTEST_CALL(OH_JSVM_GetSymbolToPrimitive(env, &result));
29 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.toPrimitive")));
30 }
31
TEST(split)32 TEST(split)
33 {
34 JSVM_Value result;
35 JSVMTEST_CALL(OH_JSVM_GetSymbolSplit(env, &result));
36 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.split")));
37 }
38
TEST(search)39 TEST(search)
40 {
41 JSVM_Value result;
42 JSVMTEST_CALL(OH_JSVM_GetSymbolSearch(env, &result));
43 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.search")));
44 }
45
TEST(replace)46 TEST(replace)
47 {
48 JSVM_Value result;
49 JSVMTEST_CALL(OH_JSVM_GetSymbolReplace(env, &result));
50 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.replace")));
51 }
52
TEST(match)53 TEST(match)
54 {
55 JSVM_Value result;
56 JSVMTEST_CALL(OH_JSVM_GetSymbolMatch(env, &result));
57 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.match")));
58 }
59
TEST(isConcatSpreadable)60 TEST(isConcatSpreadable)
61 {
62 JSVM_Value result;
63 JSVMTEST_CALL(OH_JSVM_GetSymbolIsConcatSpreadable(env, &result));
64 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.isConcatSpreadable")));
65 }
66
TEST(hasInstance)67 TEST(hasInstance)
68 {
69 JSVM_Value result;
70 JSVMTEST_CALL(OH_JSVM_GetSymbolHasInstance(env, &result));
71 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.hasInstance")));
72 }
73
TEST(unscopables)74 TEST(unscopables)
75 {
76 JSVM_Value result;
77 JSVMTEST_CALL(OH_JSVM_GetSymbolUnscopables(env, &result));
78 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.unscopables")));
79 }
80
TEST(asyncIterator)81 TEST(asyncIterator)
82 {
83 JSVM_Value result;
84 JSVMTEST_CALL(OH_JSVM_GetSymbolAsyncIterator(env, &result));
85 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.asyncIterator")));
86 }
87
TEST(iterator)88 TEST(iterator)
89 {
90 JSVM_Value result;
91 JSVMTEST_CALL(OH_JSVM_GetSymbolIterator(env, &result));
92 CHECK(jsvm::StrictEquals(result, jsvm::Run("Symbol.iterator")));
93 }
94
95 #endif
96