Lines Matching refs:vm_

57         vm_ = JSNApi::CreateJSVM(option);
58 thread_ = vm_->GetJSThread();
59 vm_->SetEnableForceGC(true);
64 vm_->SetEnableForceGC(false);
65 JSNApi::DestroyJSVM(vm_);
70 EcmaVM *vm_ = nullptr;
76 LocalScope scope(vm_);
79 Local<IntegerRef> intObject = IntegerRef::New(vm_, inputInt);
86 Local<IntegerRef> uintObject = IntegerRef::NewFromUnsigned(vm_, inputUint);
93 LocalScope scope(vm_);
96 Local<NumberRef> doubleObject = NumberRef::New(vm_, inputDouble);
103 Local<NumberRef> int32tObject = NumberRef::New(vm_, inputInt32t);
107 GTEST_LOG_(INFO) << "sample_primitive_NumberRef_pint32tObject_Int32Value : " << pint32tObject->Int32Value(vm_);
110 Local<NumberRef> uint32tObject = NumberRef::New(vm_, inputUint32t);
114 GTEST_LOG_(INFO) << "sample_primitive_NumberRef_puint32tObject_Uint32Value : " << puint32tObject->Uint32Value(vm_);
117 Local<NumberRef> int64tObject = NumberRef::New(vm_, inputInt64t);
124 LocalScope scope(vm_);
127 Local<BigIntRef> uint64tObject = BigIntRef::New(vm_, inputUint64t);
131 uint64tObject->BigIntToInt64(vm_, &ucValue, &uLossless);
133 uint64tObject->BigIntToUint64(vm_, &ucValue1, &uLossless);
139 Local<JSValueRef> ubigWords = BigIntRef::CreateBigWords(vm_, uSign, uSize, uWords);
145 GTEST_LOG_(INFO) << "sample_primitive_BigIntRef_UArraySize : " << ubigWordsRef->GetWordsArraySize(vm_);
149 ubigWordsRef->GetWordsArray(vm_, &uresultSignBit, uSize, uresultWords);
158 LocalScope scope(vm_);
161 Local<BigIntRef> int64tObject = BigIntRef::New(vm_, inputInt64t);
165 int64tObject->BigIntToInt64(vm_, &icValue, &iLossless);
167 int64tObject->BigIntToUint64(vm_, &icValue1, &iLossless);
173 Local<JSValueRef> ibigWords = BigIntRef::CreateBigWords(vm_, iSign, iSize, iWords);
179 GTEST_LOG_(INFO) << "sample_primitive_BigIntRef_iarraySize : " << ibigWordsRef->GetWordsArraySize(vm_);
183 ibigWordsRef->GetWordsArray(vm_, &iresultSignBit, iSize, iresultWords);
189 GTEST_LOG_(INFO) << "sample_primitive_BigIntRef_pint64tObject_IsBigInt : " << pint64tObject->IsBigInt(vm_);
194 LocalScope scope(vm_);
196 Local<BooleanRef> trueObject = BooleanRef::New(vm_, true);
201 Local<BooleanRef> falseObject = BooleanRef::New(vm_, false);
209 LocalScope scope(vm_);
212 Local<JSValueRef> local = StringRef::NewFromUtf8(vm_, utf8);
215 EXPECT_EQ(charObject->Utf8Length(vm_), 12);
217 EXPECT_EQ(charObject->WriteUtf8(vm_, buffer, 12), 12);
220 std::string charObjectStr = charObject->ToString(vm_);
222 uint32_t charSize = charObject->Length(vm_);
225 uint32_t length = charObject->WriteLatin1(vm_, cs, 12);
227 Local<StringRef> napiWrapperString = charObject->GetNapiWrapperString(vm_);
228 EXPECT_EQ(napiWrapperString->Utf8Length(vm_), 13);
230 EXPECT_EQ(charObject->WriteUtf8(vm_, buffer1, 12), 12);
234 GTEST_LOG_(INFO) << "sample_primitive_StringRef_pcharObject_IsString : " << pcharObject->IsString(vm_);
239 LocalScope scope(vm_);
242 Local<JSValueRef> local = StringRef::NewFromUtf16(vm_, utf16);
245 EXPECT_EQ(char16tObject->Utf8Length(vm_), 10);
247 EXPECT_EQ(char16tObject->WriteUtf16(vm_, buffer2, 9), 9);
250 std::string char16tObjectStr = char16tObject->ToString(vm_);
252 uint32_t charSize = char16tObject->Length(vm_);
255 uint32_t length = char16tObject->WriteLatin1(vm_, cs1, 10);
257 Local<StringRef> napiWrapperString = char16tObject->GetNapiWrapperString(vm_);
258 EXPECT_EQ(napiWrapperString->Utf8Length(vm_), 13);
260 EXPECT_EQ(char16tObject->WriteUtf16(vm_, buffer3, 9), 9);
264 GTEST_LOG_(INFO) << "sample_primitive_StringRef_pchar16tObject_IsString : " << pchar16tObject->IsString(vm_);
269 LocalScope scope(vm_);
271 Local<SymbolRef> symbolObject = SymbolRef::New(vm_, StringRef::NewFromUtf8(vm_, "description"));
272 Local<StringRef> symbolDescription = symbolObject->GetDescription(vm_);
273 GTEST_LOG_(INFO) << "sample_primitive_symbol_description : " << symbolDescription->ToString(vm_);
275 GTEST_LOG_(INFO) << "sample_primitive_SymbolRef_Psym_IsSymbol : " << psymbolObject->IsSymbol(vm_);
307 LocalScope scope(vm_);
311 vm_, nativePointerTestClass,
328 LocalScope scope(vm_);
330 Local<NativePointerRef> nativePoint = NativePointerRef::New(vm_, vps);
340 LocalScope scope(vm_);
342 Local<NativePointerRef> nativePoint = NativePointerRef::New(vm_, vpd);
352 LocalScope scope(vm_);
354 Local<NativePointerRef> nativePoint = NativePointerRef::New(vm_, vpc);
363 LocalScope scope(vm_);
365 Local<NativePointerRef> nativePoint = NativePointerRef::New(vm_, vpl);
375 LocalScope scope(vm_);
377 Local<NativePointerRef> nativePoint = NativePointerRef::New(vm_, vpi);
758 LocalScope scope(vm_);
759 GetSymbolRef(vm_);
760 Local<SymbolRef> symbol = SymbolRef::New(vm_, StringRef::NewFromUtf8(vm_, "Symbol"));
761 Local<ObjectRef> object = ObjectRef::New(vm_);
762 SetPrototype(object, vm_);
763 ObjectRefSet(object, vm_, symbol);
764 GetProperty(object, vm_);
765 GetOwnProperty(object, vm_);
766 GetAllPropertyNames(object, vm_);
767 GetOwnEnumerablePropertyNames(object, vm_);
768 Get(object, vm_);
769 NativePointer(object, vm_);
770 SetValueAgain(object, vm_);
771 HasAndDelete(object, vm_);
772 FreezeAndSeal(object, vm_);
784 LocalScope scope(vm_);
786 Local<FunctionRef> FuncTest = FunctionRef::New(vm_, [](JsiRuntimeCallInfo *runtimeInfo) -> Local<JSValueRef> {
792 FuncTest->Call(vm_, JSValueRef::Undefined(vm_), nullptr, 0);
806 LocalScope scope(vm_);
807 Local<FunctionRef> Add = FunctionRef::New(vm_, [](JsiRuntimeCallInfo *runtimeInfo) -> Local<JSValueRef> {
830 argv[0] = NumberRef::New(vm_, argv0);
831 argv[1] = NumberRef::New(vm_, argv1);
832 Local<JSValueRef> jsSum = Add->Call(vm_, JSValueRef::Undefined(vm_), argv, 2);
833 int sum = jsSum->Int32Value(vm_);
905 LocalScope scope(vm_);
906 Local<FunctionRef> Add = FunctionRef::New(vm_, AddFunc);
907 Local<FunctionRef> AddProxy = FunctionRef::New(vm_, AddProxyFunc);
911 addArgv[0] = NumberRef::New(vm_, num1);
912 addArgv[1] = NumberRef::New(vm_, num2);
915 addProxyArgv[1] = NumberRef::New(vm_, num1);
916 addProxyArgv[2] = NumberRef::New(vm_, num2);
917 Local<JSValueRef> jsSum1 = Add->Call(vm_, JSValueRef::Undefined(vm_), addArgv, 2);
918 Local<JSValueRef> jsSum2 = AddProxy->Call(vm_, JSValueRef::Undefined(vm_), addProxyArgv, 3);
919 int sum1 = jsSum1->Int32Value(vm_);
920 int sum2 = jsSum2->Int32Value(vm_);
1288 LocalScope scope(vm_);
1289 Local<Greeter> greeter1 = Greeter::New(vm_, StringRef::NewFromUtf8(vm_, "everyone"));
1291 GTEST_LOG_(INFO) << Greeter::Greet(vm_, greeter1)->ToString(vm_);
1292 Greeter::SetPrivateGreeting(vm_, greeter1, StringRef::NewFromUtf8(vm_, "vip"));
1293 GTEST_LOG_(INFO) << Greeter::Greet(vm_, greeter1)->ToString(vm_);
1294 Greeter::SetPrivateGreeting(vm_, greeter1, JSValueRef::Undefined(vm_));
1295 GTEST_LOG_(INFO) << Greeter::Greet(vm_, greeter1)->ToString(vm_);
1298 objRef1->Set(vm_, StringRef::NewFromUtf8(vm_, "greeting"), JSValueRef::Undefined(vm_));
1299 GTEST_LOG_(INFO) << Greeter::Greet(vm_, greeter1)->ToString(vm_);
1302 GTEST_LOG_(INFO) << Greeter::StandardGreeting(vm_)->ToString(vm_);
1303 GTEST_LOG_(INFO) << Greeter::StandardPosition(vm_)->ToString(vm_);
1306 Local<FunctionRef> classFunc = Greeter::GetClassFunction(vm_);
1307 classFunc->Set(vm_, StringRef::NewFromUtf8(vm_, "position"), StringRef::NewFromUtf8(vm_, "house"));
1309 GTEST_LOG_(INFO) << Greeter::StandardPosition(vm_)->ToString(vm_);
1675 LocalScope scope(vm_);
1679 Local<Derive> d1 = Derive::New(vm_, NumberRef::New(vm_, num));
1680 Local<Derive> d2 = DeriveDouble::New(vm_, NumberRef::New(vm_, num));
1681 Local<Derive> d3 = DerivedTriple::New(vm_, NumberRef::New(vm_, num));
1683 Local<NumberRef> i1 = Derive::Compute(vm_, d1);
1684 Local<NumberRef> i2 = Derive::Compute(vm_, d2);
1685 Local<NumberRef> i3 = Derive::Compute(vm_, d3);
1687 GTEST_LOG_(INFO) << "i1 = " << i1->Int32Value(vm_);
1688 GTEST_LOG_(INFO) << "i2 = " << i2->Int32Value(vm_);
1689 GTEST_LOG_(INFO) << "i3 = " << i3->Int32Value(vm_);
1697 LocalScope scope(vm_);
1699 Local<ArrayRef> arrayObject = ArrayRef::New(vm_, length);
1700 uint32_t arrayLength = arrayObject->Length(vm_);
1703 Local<IntegerRef> intValue = IntegerRef::New(vm_, i * 10);
1704 ArrayRef::SetValueAt(vm_, arrayObject, i, intValue);
1707 Local<IntegerRef> resultInt = ArrayRef::GetValueAt(vm_, arrayObject, index);
1710 Local<IntegerRef> intValue = IntegerRef::New(vm_, inputInt);
1711 bool setResult = ArrayRef::SetValueAt(vm_, arrayObject, arrayLength, intValue);
1714 Local<IntegerRef> changedIntValue = IntegerRef::New(vm_, changedInt);
1715 ArrayRef::SetValueAt(vm_, arrayObject, index, changedIntValue);
1717 Local<IntegerRef> resultChangedInt = ArrayRef::GetValueAt(vm_, arrayObject, index);
1720 Local<IntegerRef> printInt = ArrayRef::GetValueAt(vm_, arrayObject, i);
1727 LocalScope scope(vm_);
1729 Local<ArrayRef> arrayObject = ArrayRef::New(vm_, length);
1730 uint32_t arrayLength = arrayObject->Length(vm_);
1733 Local<BooleanRef> boolValue = BooleanRef::New(vm_, inputBool);
1735 ArrayRef::SetValueAt(vm_, arrayObject, i, boolValue);
1738 Local<BooleanRef> resultBool = ArrayRef::GetValueAt(vm_, arrayObject, index);
1740 bool setResult = ArrayRef::SetValueAt(vm_, arrayObject, arrayLength, boolValue);
1743 Local<BooleanRef> changedBoolValue = BooleanRef::New(vm_, changedBool);
1744 ArrayRef::SetValueAt(vm_, arrayObject, index, changedBoolValue);
1746 Local<BooleanRef> resultChangedBool = ArrayRef::GetValueAt(vm_, arrayObject, index);
1749 Local<BooleanRef> printBool = ArrayRef::GetValueAt(vm_, arrayObject, i);
1756 LocalScope scope(vm_);
1758 Local<ArrayRef> arrayObject = ArrayRef::New(vm_, length);
1759 uint32_t arrayLength = arrayObject->Length(vm_);
1762 Local<NumberRef> numberValue = NumberRef::New(vm_, inputNumber);
1764 ArrayRef::SetValueAt(vm_, arrayObject, i, numberValue);
1767 Local<NumberRef> resultNumber = ArrayRef::GetValueAt(vm_, arrayObject, index);
1769 bool setResult = ArrayRef::SetValueAt(vm_, arrayObject, arrayLength, numberValue);
1772 Local<NumberRef> changedNumberValue = NumberRef::New(vm_, changedNumber);
1773 ArrayRef::SetValueAt(vm_, arrayObject, index, changedNumberValue);
1775 Local<NumberRef> resultChangedNumber = ArrayRef::GetValueAt(vm_, arrayObject, index);
1778 Local<NumberRef> printNumber = ArrayRef::GetValueAt(vm_, arrayObject, i);
1785 LocalScope scope(vm_);
1787 Local<ArrayRef> arrayObject = ArrayRef::New(vm_, length);
1788 uint32_t arrayLength = arrayObject->Length(vm_);
1791 Local<StringRef> stringValue = StringRef::NewFromUtf8(vm_, inputString.c_str());
1793 ArrayRef::SetValueAt(vm_, arrayObject, i, stringValue);
1795 stringValue->WriteUtf8(vm_, setBuffer, inputString.length());
1800 Local<StringRef> resultString = ArrayRef::GetValueAt(vm_, arrayObject, index);
1802 resultString->WriteUtf8(vm_, getBuffer, inputString.length());
1805 bool setResult = ArrayRef::SetValueAt(vm_, arrayObject, arrayLength, stringValue);
1809 Local<StringRef> changedStringValue = StringRef::NewFromUtf8(vm_, changedString.c_str());
1810 ArrayRef::SetValueAt(vm_, arrayObject, index, changedStringValue);
1811 Local<StringRef> resultChangedString = ArrayRef::GetValueAt(vm_, arrayObject, index);
1813 resultChangedString->WriteUtf8(vm_, changedBuffer, changedString.length());
1817 Local<StringRef> printString = ArrayRef::GetValueAt(vm_, arrayObject, i);
1819 printString->WriteUtf8(vm_, printBuffer, inputString.length());
1828 LocalScope scope(vm_);
1830 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
1831 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
1832 int8_t *ptr = (int8_t *)arrayBuffer->GetBuffer(vm_);
1839 Local<Int8ArrayRef> typedArray = Int8ArrayRef::New(vm_, arrayBuffer, byteOffset, int8ArrayLength);
1840 GTEST_LOG_(INFO) << "sample_Int8Array_byteLength : " << typedArray->ByteLength(vm_);
1841 GTEST_LOG_(INFO) << "sample_Int8Array_byteOffset : " << typedArray->ByteOffset(vm_);
1842 GTEST_LOG_(INFO) << "sample_Int8Array_arrayLength : " << typedArray->ArrayLength(vm_);
1843 int8_t *result = (int8_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
1853 LocalScope scope(vm_);
1855 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
1856 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
1857 uint8_t *ptr = (uint8_t *)arrayBuffer->GetBuffer(vm_);
1864 Local<Uint8ArrayRef> typedArray = Uint8ArrayRef::New(vm_, arrayBuffer, byteOffset, Uint8ArrayLength);
1865 GTEST_LOG_(INFO) << "sample_Uint8Array_byteLength : " << typedArray->ByteLength(vm_);
1866 GTEST_LOG_(INFO) << "sample_Uint8Array_byteOffset : " << typedArray->ByteOffset(vm_);
1867 GTEST_LOG_(INFO) << "sample_Uint8Array_arrayLength : " << typedArray->ArrayLength(vm_);
1868 uint8_t *result = (uint8_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
1878 LocalScope scope(vm_);
1880 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
1881 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
1882 uint8_t *ptr = (uint8_t *)arrayBuffer->GetBuffer(vm_);
1889 Local<Uint8ClampedArrayRef> typedArray = Uint8ClampedArrayRef::New(vm_, arrayBuffer, byteOffset, uint8ArrLength);
1890 GTEST_LOG_(INFO) << "sample_Uint8ClampedArray_byteLength : " << typedArray->ByteLength(vm_);
1891 GTEST_LOG_(INFO) << "sample_Uint8ClampedArray_byteOffset : " << typedArray->ByteOffset(vm_);
1892 GTEST_LOG_(INFO) << "sample_Uint8ClampedArray_arrayLength : " << typedArray->ArrayLength(vm_);
1893 uint8_t *result = (uint8_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
1903 LocalScope scope(vm_);
1905 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
1906 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
1907 int16_t *ptr = (int16_t *)arrayBuffer->GetBuffer(vm_);
1914 Local<Int16ArrayRef> typedArray = Int16ArrayRef::New(vm_, arrayBuffer, byteOffset, int16ArrayLength);
1915 GTEST_LOG_(INFO) << "sample_Int16Array_byteLength : " << typedArray->ByteLength(vm_);
1916 GTEST_LOG_(INFO) << "sample_Int16Array_byteOffset : " << typedArray->ByteOffset(vm_);
1917 GTEST_LOG_(INFO) << "sample_Int16Array_arrayLength : " << typedArray->ArrayLength(vm_);
1918 int16_t *result = (int16_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
1928 LocalScope scope(vm_);
1930 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
1931 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
1932 uint16_t *ptr = (uint16_t *)arrayBuffer->GetBuffer(vm_);
1939 Local<Uint16ArrayRef> typedArray = Uint16ArrayRef::New(vm_, arrayBuffer, byteOffset, uint16ArrayLength);
1940 GTEST_LOG_(INFO) << "sample_Uint16Array_byteLength : " << typedArray->ByteLength(vm_);
1941 GTEST_LOG_(INFO) << "sample_Uint16Array_byteOffset : " << typedArray->ByteOffset(vm_);
1942 GTEST_LOG_(INFO) << "sample_Uint16Array_arrayLength : " << typedArray->ArrayLength(vm_);
1943 uint16_t *result = (uint16_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
1953 LocalScope scope(vm_);
1955 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
1956 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
1957 int32_t *ptr = (int32_t *)arrayBuffer->GetBuffer(vm_);
1964 Local<Int32ArrayRef> typedArray = Int32ArrayRef::New(vm_, arrayBuffer, byteOffset, int32ArrayLength);
1965 GTEST_LOG_(INFO) << "sample_Int32Array_byteLength : " << typedArray->ByteLength(vm_);
1966 GTEST_LOG_(INFO) << "sample_Int32Array_byteOffset : " << typedArray->ByteOffset(vm_);
1967 GTEST_LOG_(INFO) << "sample_Int32Array_arrayLength : " << typedArray->ArrayLength(vm_);
1968 int32_t *result = (int32_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
1978 LocalScope scope(vm_);
1980 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
1981 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
1982 uint32_t *ptr = (uint32_t *)arrayBuffer->GetBuffer(vm_);
1989 Local<Uint32ArrayRef> typedArray = Uint32ArrayRef::New(vm_, arrayBuffer, byteOffset, uint32ArrayLength);
1990 GTEST_LOG_(INFO) << "sample_Uint32Array_byteLength : " << typedArray->ByteLength(vm_);
1991 GTEST_LOG_(INFO) << "sample_Uint32Array_byteOffset : " << typedArray->ByteOffset(vm_);
1992 GTEST_LOG_(INFO) << "sample_Uint32Array_arrayLength : " << typedArray->ArrayLength(vm_);
1993 uint32_t *result = (uint32_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
2003 LocalScope scope(vm_);
2005 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
2006 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
2007 float *ptr = (float *)arrayBuffer->GetBuffer(vm_);
2014 Local<Float32ArrayRef> typedArray = Float32ArrayRef::New(vm_, arrayBuffer, byteOffset, float32ArrayLength);
2015 GTEST_LOG_(INFO) << "sample_Float32Array_byteLength : " << typedArray->ByteLength(vm_);
2016 GTEST_LOG_(INFO) << "sample_Float32Array_byteOffset : " << typedArray->ByteOffset(vm_);
2017 GTEST_LOG_(INFO) << "sample_Float32Array_arrayLength : " << typedArray->ArrayLength(vm_);
2018 float *result = (float *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
2028 LocalScope scope(vm_);
2030 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
2031 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
2032 double *ptr = (double *)arrayBuffer->GetBuffer(vm_);
2039 Local<Float64ArrayRef> typedArray = Float64ArrayRef::New(vm_, arrayBuffer, byteOffset, float64ArrayLength);
2040 GTEST_LOG_(INFO) << "sample_Float64Array_byteLength : " << typedArray->ByteLength(vm_);
2041 GTEST_LOG_(INFO) << "sample_Float64Array_byteOffset : " << typedArray->ByteOffset(vm_);
2042 GTEST_LOG_(INFO) << "sample_Float64Array_arrayLength : " << typedArray->ArrayLength(vm_);
2043 double *result = (double *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
2053 LocalScope scope(vm_);
2055 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
2056 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
2057 int64_t *ptr = (int64_t *)arrayBuffer->GetBuffer(vm_);
2064 Local<BigInt64ArrayRef> typedArray = BigInt64ArrayRef::New(vm_, arrayBuffer, byteOffset, bigInt64ArrayLength);
2065 GTEST_LOG_(INFO) << "sample_BigInt64Array_byteLength : " << typedArray->ByteLength(vm_);
2066 GTEST_LOG_(INFO) << "sample_BigInt64Array_byteOffset : " << typedArray->ByteOffset(vm_);
2067 GTEST_LOG_(INFO) << "sample_BigInt64Array_arrayLength : " << typedArray->ArrayLength(vm_);
2068 int64_t *result = (int64_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
2078 LocalScope scope(vm_);
2080 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
2081 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
2082 uint64_t *ptr = (uint64_t *)arrayBuffer->GetBuffer(vm_);
2089 Local<BigUint64ArrayRef> typedArray = BigUint64ArrayRef::New(vm_, arrayBuffer, byteOffset, bigUint64ArrayLength);
2090 GTEST_LOG_(INFO) << "sample_BigUint64Array_byteLength : " << typedArray->ByteLength(vm_);
2091 GTEST_LOG_(INFO) << "sample_BigUint64Array_byteOffset : " << typedArray->ByteOffset(vm_);
2092 GTEST_LOG_(INFO) << "sample_BigUint64Array_arrayLength : " << typedArray->ArrayLength(vm_);
2093 uint64_t *result = (uint64_t *)typedArray->GetArrayBuffer(vm_)->GetBuffer(vm_);
2103 LocalScope scope(vm_);
2105 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
2108 Local<DataViewRef> dataView = DataViewRef::New(vm_, arrayBuffer, byteOffset, dataViewLength);
2111 GTEST_LOG_(INFO) << "sample_DataView_getArrayBuffer : " << dataView->GetArrayBuffer(vm_)->GetBuffer(vm_);
2116 LocalScope scope(vm_);
2118 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, length);
2119 int32_t arrayLength = arrayBuffer->ByteLength(vm_);
2121 GTEST_LOG_(INFO) << "sample_ArrayBuffer_getArrayBuffer : " << arrayBuffer->GetBuffer(vm_);
2122 arrayBuffer->Detach(vm_);
2123 GTEST_LOG_(INFO) << "sample_ArrayBuffer_getDetachArrayBuffer : " << arrayBuffer->GetBuffer(vm_);
2124 bool result = arrayBuffer->IsDetach(vm_);
2143 LocalScope scope(vm_);
2145 Local<ArrayBufferRef> arrayBuffer = ArrayBufferRef::New(vm_, buffer, length, deleter, data);
2146 GTEST_LOG_(INFO) << "sample_ArrayBufferWithBuffer_byteLength : " << arrayBuffer->ByteLength(vm_);
2147 GTEST_LOG_(INFO) << "sample_ArrayBufferWithBuffer_getArrayBuffer : " << arrayBuffer->GetBuffer(vm_);
2148 arrayBuffer->Detach(vm_);
2149 GTEST_LOG_(INFO) << "sample_ArrayBufferWithBuffer_getDetachArrayBuffer : " << arrayBuffer->GetBuffer(vm_);
2150 bool result = arrayBuffer->IsDetach(vm_);
2156 LocalScope scope(vm_);
2158 Local<BufferRef> buffer = BufferRef::New(vm_, length);
2159 GTEST_LOG_(INFO) << "sample_Buffer_byteLength : " << buffer->ByteLength(vm_);
2160 GTEST_LOG_(INFO) << "sample_Buffer_getBuffer : " << buffer->GetBuffer(vm_);
2178 LocalScope scope(vm_);
2180 Local<BufferRef> bufferObj = BufferRef::New(vm_, buffer, length, deleter, data);
2181 GTEST_LOG_(INFO) << "sample_bufferWithBuffer_byteLength : " << bufferObj->ByteLength(vm_);
2182 GTEST_LOG_(INFO) << "sample_bufferWithBuffer_getBuffer : " << bufferObj->GetBuffer(vm_);
2202 LocalScope scope(vm_);
2204 Local<PromiseCapabilityRef> capability = PromiseCapabilityRef::New(vm_);
2205 capability->GetPromise(vm_)
2206 ->Then(vm_, FunctionRef::New(vm_,
2217 ->Catch(vm_, FunctionRef::New(vm_,
2228 ->Finally(vm_, FunctionRef::New(vm_,
2241 capability->Reject(vm_, StringRef::NewFromUtf8(vm_, "Divide zero"));
2243 capability->Resolve(vm_, NumberRef::New(vm_, int(a / b)));
2353 LocalScope scope(vm_);
2355 Local<MapRef> map = MapRef::New(vm_);
2356 Local<JSValueRef> symbolKey = SymbolRef::New(vm_, StringRef::NewFromUtf8(vm_, "key8"));
2357 MapSetValue(vm_, map, symbolKey);
2358 MapGetValue(vm_, map, symbolKey);
2359 MapIteratorGetValue(vm_, map);
2367 LocalScope scope(vm_);
2369 Local<WeakMapRef> weakMap = WeakMapRef::New(vm_);
2370 weakMap->Set(vm_, StringRef::NewFromUtf8(vm_, "key1"), StringRef::NewFromUtf8(vm_, "val1"));
2372 weakMap->Set(vm_, StringRef::NewFromUtf8(vm_, "key2"), NumberRef::New(vm_, num2));
2373 weakMap->Set(vm_, StringRef::NewFromUtf8(vm_, "key3"), BooleanRef::New(vm_, true));
2374 weakMap->Set(vm_, StringRef::NewFromUtf8(vm_, "key4"), SymbolRef::New(vm_, StringRef::NewFromUtf8(vm_, "val4")));
2375 weakMap->Set(vm_, IntegerRef::New(vm_, 55), StringRef::NewFromUtf8(vm_, "val5"));
2377 weakMap->Set(vm_, IntegerRef::New(vm_, 66), IntegerRef::New(vm_, num6));
2378 weakMap->Set(vm_, BooleanRef::New(vm_, true), StringRef::NewFromUtf8(vm_, "val7"));
2379 Local<JSValueRef> key8 = SymbolRef::New(vm_, StringRef::NewFromUtf8(vm_, "key8"));
2380 weakMap->Set(vm_, key8, StringRef::NewFromUtf8(vm_, "val8"));
2382 int size = weakMap->GetSize(vm_);
2384 int32_t totalElements = weakMap->GetTotalElements(vm_);
2388 Local<JSValueRef> jsKey = weakMap->GetKey(vm_, i);
2389 Local<JSValueRef> jsVal = weakMap->GetValue(vm_, i);
2390 GTEST_LOG_(INFO) << "for WeakMap index : " << i << " key : " << jsValue2String(vm_, jsKey) << " val : " <<
2391 jsValue2String(vm_, jsVal);
2394 bool hasKey2 = weakMap->Has(vm_, StringRef::NewFromUtf8(vm_, "key2"));
2396 bool hasKey222 = weakMap->Has(vm_, StringRef::NewFromUtf8(vm_, "key222"));
2406 LocalScope scope(vm_);
2407 Local<SetRef> set = SetRef::New(vm_);
2409 set->Add(vm_, StringRef::NewFromUtf8(vm_, "val1"));
2411 set->Add(vm_, NumberRef::New(vm_, num2));
2412 set->Add(vm_, BooleanRef::New(vm_, true));
2413 set->Add(vm_, SymbolRef::New(vm_, StringRef::NewFromUtf8(vm_, "val4")));
2414 set->Add(vm_, StringRef::NewFromUtf8(vm_, "val5"));
2416 set->Add(vm_, IntegerRef::New(vm_, num6));
2418 int32_t size = set->GetSize(vm_);
2420 int32_t totalElement = set->GetTotalElements(vm_);
2424 Local<JSValueRef> jsVal = set->GetValue(vm_, i);
2425 GTEST_LOG_(INFO) << "for set index : " << i << " val : " << jsValue2String(vm_, jsVal);
2429 Local<SetIteratorRef> setIter = SetIteratorRef::New(vm_, set);
2430 ecmascript::EcmaRuntimeCallInfo *info = setIter->GetEcmaRuntimeCallInfo(vm_);
2432 Local<StringRef> kind = setIter->GetKind(vm_);
2433 GTEST_LOG_(INFO) << "Set Iterator kind : " << kind->ToString(vm_);
2435 for (Local<ArrayRef> array = SetIteratorRef::Next(vm_, info); array->IsArray(vm_);
2436 array = SetIteratorRef::Next(vm_, info)) {
2438 Local<JSValueRef> jsVal = ArrayRef::GetValueAt(vm_, array, 1);
2439 GTEST_LOG_(INFO) << "for set iterator index : " << index << " val : " << jsValue2String(vm_, jsVal);
2448 LocalScope scope(vm_);
2449 Local<WeakSetRef> weakSet = WeakSetRef::New(vm_);
2451 weakSet->Add(vm_, StringRef::NewFromUtf8(vm_, "val1"));
2453 weakSet->Add(vm_, NumberRef::New(vm_, num2));
2454 weakSet->Add(vm_, BooleanRef::New(vm_, true));
2455 weakSet->Add(vm_, SymbolRef::New(vm_, StringRef::NewFromUtf8(vm_, "val4")));
2456 weakSet->Add(vm_, StringRef::NewFromUtf8(vm_, "val5"));
2458 weakSet->Add(vm_, IntegerRef::New(vm_, num6));
2460 int32_t size = weakSet->GetSize(vm_);
2462 int32_t totalElement = weakSet->GetTotalElements(vm_);
2466 Local<JSValueRef> jsVal = weakSet->GetValue(vm_, i);
2467 GTEST_LOG_(INFO) << "for weakset index : " << i << " val : " << jsValue2String(vm_, jsVal);
2568 LocalScope scope(vm_);
2572 Local<JSValueRef> jsObj = JSON::Parse(vm_, StringRef::NewFromUtf8(vm_, jsonStr.c_str()));
2573 Local<ObjectRef> obj = jsObj->ToObject(vm_);
2575 JsonObjGetValue(vm_, obj);
2576 JsonObjGetArray(vm_, obj);
2577 JsonObjGetObject(vm_, obj);
2610 LocalScope scope(vm_);
2612 Local<ObjectRef> obj = ObjectRef::New(vm_);
2613 obj->Set(vm_, StringRef::NewFromUtf8(vm_, "key1"), StringRef::NewFromUtf8(vm_, "val1"));
2615 obj->Set(vm_, StringRef::NewFromUtf8(vm_, "key2"), NumberRef::New(vm_, num2));
2617 obj->Set(vm_, NumberRef::New(vm_, num3), StringRef::NewFromUtf8(vm_, "val3"));
2619 Local<ArrayRef> arr4 = ArrayRef::New(vm_);
2620 ArrayRef::SetValueAt(vm_, arr4, 0, StringRef::NewFromUtf8(vm_, "val40"));
2621 ArrayRef::SetValueAt(vm_, arr4, 1, StringRef::NewFromUtf8(vm_, "val41"));
2622 ArrayRef::SetValueAt(vm_, arr4, 2, StringRef::NewFromUtf8(vm_, "val42"));
2623 ArrayRef::SetValueAt(vm_, arr4, 3, StringRef::NewFromUtf8(vm_, "val43"));
2624 obj->Set(vm_, StringRef::NewFromUtf8(vm_, "arr4"), arr4);
2626 Local<ArrayRef> arr5 = ArrayRef::New(vm_);
2631 ArrayRef::SetValueAt(vm_, arr5, 0, IntegerRef::New(vm_, num50));
2632 ArrayRef::SetValueAt(vm_, arr5, 1, IntegerRef::New(vm_, num51));
2633 ArrayRef::SetValueAt(vm_, arr5, 2, IntegerRef::New(vm_, num52));
2634 ArrayRef::SetValueAt(vm_, arr5, 3, IntegerRef::New(vm_, num53));
2635 obj->Set(vm_, StringRef::NewFromUtf8(vm_, "arr5"), arr5);
2637 obj->Set(vm_, StringRef::NewFromUtf8(vm_, "b6"), BooleanRef::New(vm_, true));
2639 Local<ObjectRef> obj7 = ObjectRef::New(vm_);
2640 obj7->Set(vm_, StringRef::NewFromUtf8(vm_, "key71"), StringRef::NewFromUtf8(vm_, "val71"));
2641 obj7->Set(vm_, StringRef::NewFromUtf8(vm_, "key72"), StringRef::NewFromUtf8(vm_, "val72"));
2642 obj7->Set(vm_, StringRef::NewFromUtf8(vm_, "key73"), StringRef::NewFromUtf8(vm_, "val73"));
2644 obj->Set(vm_, StringRef::NewFromUtf8(vm_, "obj7"), obj7);
2646 Local<JSValueRef> jsStr = JSON::Stringify(vm_, obj);
2647 GTEST_LOG_(INFO) << "jsStr is String : " << jsStr->IsString(vm_);
2648 Local<StringRef> strRef = jsStr->ToString(vm_);
2649 std::string str = strRef->ToString(vm_);
2661 LocalScope scope(vm_);
2664 Local<StringRef> arrStr1 = StringRef::NewFromUtf8(vm_, "[51,52,53,54,55]");
2665 Local<JSValueRef> jsArr1 = JSON::Parse(vm_, arrStr1);
2666 bool jsArr1IsArr = jsArr1->IsArray(vm_);
2669 uint32_t arr1Length = arr1->Length(vm_);
2672 Local<JSValueRef> arr1Item = ArrayRef::GetValueAt(vm_, arr1, i);
2674 int num = arr1Item->Int32Value(vm_);
2689 LocalScope scope(vm_);
2692 Local<StringRef> arrStr2 = StringRef::NewFromUtf8(vm_, "[\"a1\",\"a2\",\"a3\",\"a4\",\"a5\",\"a6\"]");
2693 Local<JSValueRef> jsArr2 = JSON::Parse(vm_, arrStr2);
2694 bool jsArr2IsArr = jsArr2->IsArray(vm_);
2697 uint32_t arr2Length = arr2->Length(vm_);
2700 Local<JSValueRef> arr2Item = ArrayRef::GetValueAt(vm_, arr2, i);
2701 std::string str = arr2Item->ToString(vm_)->ToString(vm_);
2714 LocalScope scope(vm_);
2715 Local<StringRef> arrStr3 = StringRef::NewFromUtf8(vm_, "[true,true,false,false,true]");
2716 Local<JSValueRef> jsArr3 = JSON::Parse(vm_, arrStr3);
2717 bool jsArr3IsArr = jsArr3->IsArray(vm_);
2720 uint32_t arr3Length = arr3->Length(vm_);
2723 Local<JSValueRef> arr3Item = ArrayRef::GetValueAt(vm_, arr3, i);
2724 int b = arr3Item->BooleaValue(vm_);
2749 LocalScope scope(vm_);
2754 StringRef::NewFromUtf8(vm_, "[{\"key1\":\"val11\",\"key2\":\"val12\"},{\"key1\":\"val21\",\"key2\":\"val22\"},{"
2756 Local<JSValueRef> jsArr4 = JSON::Parse(vm_, arrStr4);
2757 bool jsArr4IsArr = jsArr4->IsArray(vm_);
2760 uint32_t arr4Length = arr4->Length(vm_);
2763 Local<JSValueRef> jsArr4Item = ArrayRef::GetValueAt(vm_, arr4, i);
2764 Local<ObjectRef> obj = jsArr4Item->ToObject(vm_);
2766 Local<JSValueRef> objVal1 = obj->Get(vm_, StringRef::NewFromUtf8(vm_, "key1"));
2767 Local<JSValueRef> objVal2 = obj->Get(vm_, StringRef::NewFromUtf8(vm_, "key2"));
2769 GTEST_LOG_(INFO) << "arr4 index : " << i << " key1 : " << objVal1->ToString(vm_)->ToString(vm_);
2770 GTEST_LOG_(INFO) << "arr4 index : " << i << " key2 : " << objVal2->ToString(vm_)->ToString(vm_);
2782 LocalScope scope(vm_);
2785 Local<StringRef> arrStr5 = StringRef::NewFromUtf8(vm_, "[\"val1\",222,true,{\"key1\":\"val1\",\"key2\":\"val1\"}]");
2786 Local<JSValueRef> jsArr5 = JSON::Parse(vm_, arrStr5);
2787 bool jsArr5IsArr = jsArr5->IsArray(vm_);
2790 uint32_t arr5Length = arr5->Length(vm_);
2793 Local<JSValueRef> arr5Item = ArrayRef::GetValueAt(vm_, arr5, i);
2794 if (arr5Item->IsString(vm_)) {
2795 GTEST_LOG_(INFO) << "arr5 index : " << i << " value : " << arr5Item->ToString(vm_)->ToString(vm_);
2797 GTEST_LOG_(INFO) << "arr5 index : " << i << " value : " << arr5Item->Int32Value(vm_);
2799 GTEST_LOG_(INFO) << "arr5 index : " << i << " value : " << arr5Item->ToBoolean(vm_)->Value();
2800 } else if (arr5Item->IsObject(vm_)) {
2801 Local<ObjectRef> obj = arr5Item->ToObject(vm_);
2802 Local<ObjectRef> val1 = obj->Get(vm_, StringRef::NewFromUtf8(vm_, "key1"));
2803 Local<ObjectRef> val2 = obj->Get(vm_, StringRef::NewFromUtf8(vm_, "key2"));
2804 GTEST_LOG_(INFO) << "arr5 index : " << i << " key1 : " << val1->ToString(vm_)->ToString(vm_);
2805 GTEST_LOG_(INFO) << "arr5 index : " << i << " key2 : " << val2->ToString(vm_)->ToString(vm_);
2840 LocalScope scope(vm_);
2841 Local<ArrayRef> arr = ArrayRef::New(vm_);
2842 ArrayRef::SetValueAt(vm_, arr, 0, StringRef::NewFromUtf8(vm_, "val0"));
2843 ArrayRef::SetValueAt(vm_, arr, 1, StringRef::NewFromUtf8(vm_, "val1"));
2844 ArrayRef::SetValueAt(vm_, arr, 2, StringRef::NewFromUtf8(vm_, "val2"));
2845 ArrayRef::SetValueAt(vm_, arr, 3, StringRef::NewFromUtf8(vm_, "val3"));
2846 Local<JSValueRef> json1 = JSON::Stringify(vm_, arr);
2847 GTEST_LOG_(INFO) << " js arr 1 json : " << json1->ToString(vm_)->ToString(vm_);
2854 Local<ObjectRef> obj1 = ObjectRef::New(vm_);
2855 obj1->Set(vm_, StringRef::NewFromUtf8(vm_, "key1"), StringRef::NewFromUtf8(vm_, "val11"));
2856 obj1->Set(vm_, StringRef::NewFromUtf8(vm_, "key2"), StringRef::NewFromUtf8(vm_, "val12"));
2857 obj1->Set(vm_, StringRef::NewFromUtf8(vm_, "key3"), StringRef::NewFromUtf8(vm_, "val13"));
2858 Local<ObjectRef> obj2 = ObjectRef::New(vm_);
2859 obj2->Set(vm_, StringRef::NewFromUtf8(vm_, "key1"), StringRef::NewFromUtf8(vm_, "val21"));
2860 obj2->Set(vm_, StringRef::NewFromUtf8(vm_, "key2"), StringRef::NewFromUtf8(vm_, "val22"));
2861 obj2->Set(vm_, StringRef::NewFromUtf8(vm_, "key3"), StringRef::NewFromUtf8(vm_, "val23"));
2862 Local<ArrayRef> arr = ArrayRef::New(vm_);
2863 ArrayRef::SetValueAt(vm_, arr, 0, obj1);
2864 ArrayRef::SetValueAt(vm_, arr, 1, obj2);
2865 Local<JSValueRef> json2 = JSON::Stringify(vm_, arr);
2866 GTEST_LOG_(INFO) << " js arr 2 json : " << json2->ToString(vm_)->ToString(vm_);
2873 Local<ObjectRef> obj = ObjectRef::New(vm_);
2874 obj->Set(vm_, StringRef::NewFromUtf8(vm_, "key1"), StringRef::NewFromUtf8(vm_, "val1"));
2875 obj->Set(vm_, StringRef::NewFromUtf8(vm_, "key2"), StringRef::NewFromUtf8(vm_, "val2"));
2876 Local<ArrayRef> arr = ArrayRef::New(vm_);
2877 ArrayRef::SetValueAt(vm_, arr, 0, StringRef::NewFromUtf8(vm_, "val1"));
2879 ArrayRef::SetValueAt(vm_, arr, 1, NumberRef::New(vm_, num2));
2880 ArrayRef::SetValueAt(vm_, arr, 2, BooleanRef::New(vm_, true));
2881 ArrayRef::SetValueAt(vm_, arr, 3, obj);
2882 Local<JSValueRef> json3 = JSON::Stringify(vm_, arr);
2883 GTEST_LOG_(INFO) << " js arr 3 json : " << json3->ToString(vm_)->ToString(vm_);
3093 LocalScope scope(vm_);
3095 Local<JSValueRef> exception1 = ThrowErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3097 ClearAndPrintException4JSNApi(vm_, "ThrowErrorFuncTest");
3100 Local<JSValueRef> exception2 = ThrowRangeErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3102 ClearAndPrintException4TryCatch1(vm_, "ThrowRangeErrorFuncTest");
3105 Local<JSValueRef> exception3 = ThrowReferenceErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3107 ClearAndPrintException4TryCatch2(vm_, "ThrowReferenceErrorFuncTest");
3110 Local<JSValueRef> exception4 = ThrowSyntaxErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3112 PrintAndRethrowException4TryCatch3(vm_, "ThrowSyntaxErrorFuncTest");
3113 ClearAndPrintException4TryCatch1(vm_, "ThrowSyntaxErrorFuncTest");
3116 Local<JSValueRef> exception5 = ThrowTypeErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3118 ClearAndPrintException4TryCatch1(vm_, "ThrowTypeErrorFuncTest");
3121 Local<JSValueRef> exception6 = ThrowAggregateErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3123 ClearAndPrintException4TryCatch1(vm_, "ThrowAggregateErrorFuncTest");
3126 Local<JSValueRef> exception7 = ThrowEvalErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3128 ClearAndPrintException4TryCatch1(vm_, "ThrowEvalErrorFuncTest");
3131 Local<JSValueRef> exception8 = ThrowOOMErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3133 ClearAndPrintException4TryCatch1(vm_, "ThrowOOMErrorFuncTest");
3136 Local<JSValueRef> exception9 = ThrowTerminationErrorFuncTest(vm_, NumberRef::New(vm_, 0));
3138 ClearAndPrintException4TryCatch1(vm_, "ThrowTerminationErrorFuncTest");