예제 #1
0
        public void JsWeakReferenceCanBeCreated()
        {
            var str = "Hello, World!";

            using (var runtimeHandle = Engine.JsCreateRuntime(JavaScriptRuntimeAttributes.None, null))
            {
                using (var contextHandle = Engine.JsCreateContext(runtimeHandle))
                {
                    Engine.JsSetCurrentContext(contextHandle);

                    var stringHandle = Engine.JsCreateString(str, (ulong)str.Length);
                    Assert.True(stringHandle != JavaScriptValueSafeHandle.Invalid);

                    var weakRef = Engine.JsCreateWeakReference(stringHandle);
                    Assert.True(weakRef != JavaScriptWeakReferenceSafeHandle.Invalid);

                    stringHandle.Dispose();
                }
            }
        }