public virtual void TestShouldReturnAllPropertiesOfArg()
		{
			NativeObject @object = new NativeObject();
			@object.DefineProperty("a", "1", ScriptableObject.EMPTY);
			@object.DefineProperty("b", "2", ScriptableObject.DONTENUM);
			object result = Evaluator.Eval("Object.getOwnPropertyNames(obj)", "obj", @object);
			NativeArray names = (NativeArray)result;
			NUnit.Framework.Assert.AreEqual(2, names.GetLength());
			NUnit.Framework.Assert.AreEqual("a", names.Get(0, names));
			NUnit.Framework.Assert.AreEqual("b", names.Get(1, names));
		}
Exemplo n.º 2
0
		public virtual void ShouldReturnOnlyEnumerablePropertiesOfArg()
		{
			NativeObject @object = new NativeObject();
			@object.DefineProperty("a", "1", ScriptableObject.EMPTY);
			@object.DefineProperty("b", "2", ScriptableObject.EMPTY);
			@object.DefineProperty("c", "3", ScriptableObject.DONTENUM);
			object result = Evaluator.Eval("Object.keys(obj)", "obj", @object);
			NativeArray keys = (NativeArray)result;
			NUnit.Framework.Assert.AreEqual(2, keys.GetLength());
			NUnit.Framework.Assert.AreEqual("a", keys.Get(0, keys));
			NUnit.Framework.Assert.AreEqual("b", keys.Get(1, keys));
		}
		public virtual void TestContentsOfPropertyDescriptorShouldReflectAttributesOfProperty()
		{
			NativeObject descriptor;
			NativeObject @object = new NativeObject();
			@object.DefineProperty("a", "1", ScriptableObject.EMPTY);
			@object.DefineProperty("b", "2", ScriptableObject.DONTENUM | ScriptableObject.READONLY | ScriptableObject.PERMANENT);
			descriptor = (NativeObject)Evaluator.Eval("Object.getOwnPropertyDescriptor(obj, 'a')", "obj", @object);
			NUnit.Framework.Assert.AreEqual("1", descriptor.Get("value"));
			NUnit.Framework.Assert.AreEqual(true, descriptor.Get("enumerable"));
			NUnit.Framework.Assert.AreEqual(true, descriptor.Get("writable"));
			NUnit.Framework.Assert.AreEqual(true, descriptor.Get("configurable"));
			descriptor = (NativeObject)Evaluator.Eval("Object.getOwnPropertyDescriptor(obj, 'b')", "obj", @object);
			NUnit.Framework.Assert.AreEqual("2", descriptor.Get("value"));
			NUnit.Framework.Assert.AreEqual(false, descriptor.Get("enumerable"));
			NUnit.Framework.Assert.AreEqual(false, descriptor.Get("writable"));
			NUnit.Framework.Assert.AreEqual(false, descriptor.Get("configurable"));
		}