Exemplo n.º 1
0
 public JSArray(
     JSContextPtr context,
     JSObjectPtr obj
     ) : base(context, obj)
 {
     if (!JSAPI.IsArrayObject(context, Root))
     {
         throw new ArgumentException("Value is not an array", "obj");
     }
 }
Exemplo n.º 2
0
        public unsafe bool IsArray(JSContextPtr context)
        {
            if (ValueType != JSValueType.OBJECT)
            {
                return(false);
            }

            var obj = this.AsObject;

            return(JSAPI.IsArrayObject(context, &obj));
        }
Exemplo n.º 3
0
        public unsafe void ArrayReadTest()
        {
            using (var tc = new TestContext()) {
                var evalResult = tc.Context.Evaluate(tc.Global, "[1, 2, 3, 4]");

                var obj = evalResult.Value.AsObject;
                Assert.IsTrue(JSAPI.IsArrayObject(tc, &obj));

                var arrayHandle = (JSHandleObject)evalResult;

                uint length;
                Assert.IsTrue(JSAPI.GetArrayLength(tc, arrayHandle, out length));
                Assert.AreEqual(4, length);

                var elementRoot = new Rooted <JS.Value>(tc);

                Assert.IsTrue(JSAPI.GetElement(tc, arrayHandle, 0, elementRoot));
                Assert.AreEqual(1, elementRoot.Value.ToManaged(tc));

                Assert.IsTrue(JSAPI.GetElement(tc, arrayHandle, 3, elementRoot));
                Assert.AreEqual(4, elementRoot.Value.ToManaged(tc));
            }
        }