Best JavaScript code snippet using sinon
fedbefc78718eedeeba43bff96b77a25.js
Source:fedbefc78718eedeeba43bff96b77a25.js
...19 }20}21let TypedArray = Object.getPrototypeOf(Int8Array);22// buffer.23shouldBeEqualToString('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.name', 'get buffer');24shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.length', '0');25shouldBeFalse('"writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer")');26shouldBeFalse('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").enumerable');27shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").configurable');28shouldBeEqualToString('typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get', 'function');29shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").set', 'undefined');30shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call()', "'TypeError: Receiver should be a typed array view but was not an object'");31shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(undefined)', "'TypeError: Receiver should be a typed array view but was not an object'");32shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(null)', "'TypeError: Receiver should be a typed array view but was not an object'");33shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(5)', "'TypeError: Receiver should be a typed array view but was not an object'");34shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call([])', "'TypeError: Receiver should be a typed array view'");35shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call({ foo: "bar" })', "'TypeError: Receiver should be a typed array view'");36shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(new ArrayBuffer(42))', "'TypeError: Receiver should be a typed array view'");37shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "buffer").get.call(new DataView(new ArrayBuffer(8), 0, 1))', "'TypeError: Receiver should be a typed array view'");38// byteLength.39shouldBeEqualToString('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.name', 'get byteLength');40shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.length', '0');41shouldBeFalse('"writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength")');42shouldBeFalse('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").enumerable');43shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").configurable');44shouldBeEqualToString('typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get', 'function');45shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").set', 'undefined');46shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call()', "'TypeError: Receiver should be a typed array view but was not an object'");47shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(undefined)', "'TypeError: Receiver should be a typed array view but was not an object'");48shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(null)', "'TypeError: Receiver should be a typed array view but was not an object'");49shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(5)', "'TypeError: Receiver should be a typed array view but was not an object'");50shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call([])', "'TypeError: Receiver should be a typed array view'");51shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call({ foo: "bar" })', "'TypeError: Receiver should be a typed array view'");52shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(new ArrayBuffer(42))', "'TypeError: Receiver should be a typed array view'");53shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteLength").get.call(new DataView(new ArrayBuffer(8), 0, 1))', "'TypeError: Receiver should be a typed array view'");54// byteOffset.55shouldBeEqualToString('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.name', 'get byteOffset');56shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.length', '0');57shouldBeFalse('"writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset")');58shouldBeFalse('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").enumerable');59shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").configurable');60shouldBeEqualToString('typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get', 'function');61shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").set', 'undefined');62shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call()', "'TypeError: Receiver should be a typed array view but was not an object'");63shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(undefined)', "'TypeError: Receiver should be a typed array view but was not an object'");64shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(null)', "'TypeError: Receiver should be a typed array view but was not an object'");65shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(5)', "'TypeError: Receiver should be a typed array view but was not an object'");66shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call([])', "'TypeError: Receiver should be a typed array view'");67shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call({ foo: "bar" })', "'TypeError: Receiver should be a typed array view'");68shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(new ArrayBuffer(42))', "'TypeError: Receiver should be a typed array view'");69shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "byteOffset").get.call(new DataView(new ArrayBuffer(8), 0, 1))', "'TypeError: Receiver should be a typed array view'");70// entries.71shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").writable');72shouldBeFalse('Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").enumerable');73shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").configurable');74shouldBeEqualToString('typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").value', 'function');75shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "entries").set', 'undefined');76shouldThrow('TypedArray.prototype.entries.call()', "'TypeError: Receiver should be a typed array view'");77shouldThrow('TypedArray.prototype.entries.call(undefined)', "'TypeError: Receiver should be a typed array view'");78shouldThrow('TypedArray.prototype.entries.call(null)', "'TypeError: Receiver should be a typed array view'");79shouldThrow('TypedArray.prototype.entries.call(5)', "'TypeError: Receiver should be a typed array view'");80shouldThrow('TypedArray.prototype.entries.call([])', "'TypeError: Receiver should be a typed array view'");81shouldThrow('TypedArray.prototype.entries.call({ foo: "bar" })', "'TypeError: Receiver should be a typed array view'");82shouldThrow('TypedArray.prototype.entries.call(new ArrayBuffer(42))', "'TypeError: Receiver should be a typed array view'");83shouldThrow('TypedArray.prototype.entries.call(new DataView(new ArrayBuffer(8), 0, 1))', "'TypeError: Receiver should be a typed array view'");84// length.85shouldBeEqualToString('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.name', 'get length');86shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.length', '0');87shouldBeFalse('"writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, "length")');88shouldBeFalse('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").enumerable');89shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").configurable');90shouldBeEqualToString('typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get', 'function');91shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").set', 'undefined');92shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call()', "'TypeError: Receiver should be a typed array view but was not an object'");93shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(undefined)', "'TypeError: Receiver should be a typed array view but was not an object'");94shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(null)', "'TypeError: Receiver should be a typed array view but was not an object'");95shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(5)', "'TypeError: Receiver should be a typed array view but was not an object'");96shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call([])', "'TypeError: Receiver should be a typed array view'");97shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call({ foo: "bar" })', "'TypeError: Receiver should be a typed array view'");98shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(new ArrayBuffer(42))', "'TypeError: Receiver should be a typed array view'");99shouldThrow('Object.getOwnPropertyDescriptor(TypedArray.prototype, "length").get.call(new DataView(new ArrayBuffer(8), 0, 1))', "'TypeError: Receiver should be a typed array view'");100// toLocaleString.101shouldBeEqualToString('TypedArray.prototype.toLocaleString.name', 'toLocaleString');102shouldBe('TypedArray.prototype.toLocaleString.length', '0');103shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "toLocaleString").writable');104shouldBeFalse('Object.getOwnPropertyDescriptor(TypedArray.prototype, "toLocaleString").enumerable');105shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "toLocaleString").configurable');106shouldBeEqualToString('typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").value', 'function');107// toString.108shouldBeEqualToString('TypedArray.prototype.toString.name', 'toString');109shouldBe('TypedArray.prototype.toString.length', '0');110shouldBe('TypedArray.prototype.toString', 'Array.prototype.toString');111shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").writable');112shouldBeFalse('Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").enumerable');113shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").configurable');114shouldBeEqualToString('typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, "toString").value', 'function');115// toStringTag116shouldBeEqualToString('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.name', 'get [Symbol.toStringTag]');117shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.length', '0');118shouldBeFalse('"writable" in Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag)');119shouldBeFalse('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).enumerable');120shouldBeTrue('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).configurable');121shouldBeEqualToString('typeof Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get', 'function');122shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).set', 'undefined');123shouldBe('TypedArray.prototype[Symbol.toStringTag]', 'undefined');124shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call()', 'undefined');125shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(undefined)', 'undefined');126shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(null)', 'undefined');127shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(5)', 'undefined');128shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call([])', 'undefined');129shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call({ foo: "bar" })', 'undefined');130shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(new ArrayBuffer(42))', 'undefined');131shouldBe('Object.getOwnPropertyDescriptor(TypedArray.prototype, Symbol.toStringTag).get.call(new DataView(new ArrayBuffer(8), 0, 1))', 'undefined');...
15.2.3.3-01.js
Source:15.2.3.3-01.js
...3 * License, v. 2.0. If a copy of the MPL was not distributed with this4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */5//-----------------------------------------------------------------------------6var BUGNUMBER = 505587;7var summary = 'ES5 Object.getOwnPropertyDescriptor(O)';8var actual = '';9var expect = '';10printBugNumber(BUGNUMBER);11printStatus (summary);12/**************13 * BEGIN TEST *14 **************/15function assertEq(a, e, msg)16{17 function SameValue(v1, v2)18 {19 if (v1 === 0 && v2 === 0)20 return 1 / v1 === 1 / v2;21 if (v1 !== v1 && v2 !== v2)22 return true;23 return v1 === v2;24 }25 if (!SameValue(a, e))26 {27 var stack = new Error().stack || "";28 throw "Assertion failed: got " + a + ", expected " + e +29 (msg ? ": " + msg : "") +30 (stack ? "\nStack:\n" + stack : "");31 }32}33function expectDescriptor(actual, expected)34{35 if (actual === undefined && expected === undefined)36 return;37 assertEq(typeof actual, "object");38 assertEq(typeof expected, "object");39 var fields =40 {41 value: true,42 get: true,43 set: true,44 enumerable: true,45 writable: true,46 configurable: true47 };48 for (var p in fields)49 assertEq(actual.hasOwnProperty(p), expected.hasOwnProperty(p), p);50 for (var p in actual)51 assertEq(p in fields, true, p);52 for (var p in expected)53 assertEq(p in fields, true, p);54 assertEq(actual.hasOwnProperty("value"), actual.hasOwnProperty("writable"));55 assertEq(actual.hasOwnProperty("get"), actual.hasOwnProperty("set"));56 if (actual.hasOwnProperty("value"))57 {58 assertEq(actual.value, expected.value);59 assertEq(actual.writable, expected.writable);60 }61 else62 {63 assertEq(actual.get, expected.get);64 assertEq(actual.set, expected.set);65 }66 assertEq(actual.hasOwnProperty("enumerable"), true);67 assertEq(actual.hasOwnProperty("configurable"), true);68 assertEq(actual.enumerable, expected.enumerable);69 assertEq(actual.configurable, expected.configurable);70}71function adjustDescriptorField(o, actual, expect, field)72{73 assertEq(field === "get" || field === "set", true);74 var lookup = "__lookup" + (field === "get" ? "G" : "S") + "etter";75 if (typeof o[lookup] === "function")76 expect[field] = o[lookup](field);77 else78 actual[field] = expect[field] = undefined; /* censor if we can't lookup */79}80/******************************************************************************/81var o, pd, expected;82o = { get x() { return 12; } };83pd = Object.getOwnPropertyDescriptor(o, "x");84expected =85 {86 set: undefined,87 enumerable: true,88 configurable: true89 };90adjustDescriptorField(o, pd, expected, "get");91expectDescriptor(pd, expected);92/******************************************************************************/93var o2;94o = Object.create(Object.prototype, { x: {get: function () { return 12; } } });95pd = Object.getOwnPropertyDescriptor(o, "x");96expected =97 {98 set: undefined,99 enumerable: false,100 configurable: false101 };102adjustDescriptorField(o, pd, expected, "get");103expectDescriptor(pd, expected);104o2 = Object.create(o);105assertEq(Object.getOwnPropertyDescriptor(o2, "x"), undefined);106/******************************************************************************/107o = {};108o.b = 12;109pd = Object.getOwnPropertyDescriptor(o, "b");110expected =111 {112 value: 12,113 writable: true,114 enumerable: true,115 configurable: true116 };117expectDescriptor(pd, expected);118/******************************************************************************/119o = { get y() { return 17; }, set y(z) { } };120pd = Object.getOwnPropertyDescriptor(o, "y");121expected =122 {123 enumerable: true,124 configurable: true125 };126adjustDescriptorField(o, pd, expected, "get");127adjustDescriptorField(o, pd, expected, "set");128expectDescriptor(pd, expected);129/******************************************************************************/130o = {};131pd = Object.getOwnPropertyDescriptor(o, "absent");132expectDescriptor(pd, undefined);133/******************************************************************************/134pd = Object.getOwnPropertyDescriptor([], "length");135expected =136 {137 value: 0,138 writable: true,139 enumerable: false,140 configurable: false141 };142expectDescriptor(pd, expected);143pd = Object.getOwnPropertyDescriptor([1], "length");144expected =145 {146 value: 1,147 writable: true,148 enumerable: false,149 configurable: false150 };151expectDescriptor(pd, expected);152pd = Object.getOwnPropertyDescriptor([1,], "length");153expected =154 {155 value: 1,156 writable: true,157 enumerable: false,158 configurable: false159 };160expectDescriptor(pd, expected);161pd = Object.getOwnPropertyDescriptor([1,,], "length");162expected =163 {164 value: 2,165 writable: true,166 enumerable: false,167 configurable: false168 };169expectDescriptor(pd, expected);170/******************************************************************************/171pd = Object.getOwnPropertyDescriptor(new String("foobar"), "length");172expected =173 {174 value: 6,175 writable: false,176 enumerable: false,177 configurable: false178 };179expectDescriptor(pd, expected);180/******************************************************************************/181function foo() { }182o = foo;183pd = Object.getOwnPropertyDescriptor(o, "length");184expected =185 {186 value: 0,187 writable: false,188 enumerable: false,189 configurable: false190 };191expectDescriptor(pd, expected);192pd = Object.getOwnPropertyDescriptor(o, "prototype");193expected =194 {195 value: foo.prototype,196 writable: true,197 enumerable: false,198 configurable: false199 };200expectDescriptor(pd, expected);201/******************************************************************************/202pd = Object.getOwnPropertyDescriptor(Function, "length");203expected =204 {205 value: 1,206 writable: false,207 enumerable: false,208 configurable: false209 };210expectDescriptor(pd, expected);211/******************************************************************************/212o = /foo/im;213pd = Object.getOwnPropertyDescriptor(o, "source");214expected =215 {216 value: "foo",217 writable: false,218 enumerable: false,219 configurable: false220 };221expectDescriptor(pd, expected);222pd = Object.getOwnPropertyDescriptor(o, "global");223expected =224 {225 value: false,226 writable: false,227 enumerable: false,228 configurable: false229 };230expectDescriptor(pd, expected);231pd = Object.getOwnPropertyDescriptor(o, "ignoreCase");232expected =233 {234 value: true,235 writable: false,236 enumerable: false,237 configurable: false238 };239expectDescriptor(pd, expected);240pd = Object.getOwnPropertyDescriptor(o, "multiline");241expected =242 {243 value: true,244 writable: false,245 enumerable: false,246 configurable: false247 };248expectDescriptor(pd, expected);249pd = Object.getOwnPropertyDescriptor(o, "lastIndex");250expected =251 {252 value: 0,253 writable: true,254 enumerable: false,255 configurable: false256 };257expectDescriptor(pd, expected);258/******************************************************************************/259reportCompare(expect, actual, "Object.getOwnPropertyDescriptor");...
proxies-get-own-property-descriptor.js
Source:proxies-get-own-property-descriptor.js
...27 }28 if (name === "return_null") {29 return null;30 }31 return Object.getOwnPropertyDescriptor(target, name);32 }33};34var proxy = new Proxy(target, handler);35var proxy_without_handler = new Proxy(target, {});36// Checking basic functionality:37assertEquals(configurable_desc,38 Object.getOwnPropertyDescriptor(proxy, "configurable"));39assertEquals(nonconfigurable_desc,40 Object.getOwnPropertyDescriptor(proxy, "nonconfigurable"));41assertEquals({ value: proxied_desc.value,42 configurable: proxied_desc.configurable,43 enumerable: false,44 writable: false },45 Object.getOwnPropertyDescriptor(proxy, "proxied"));46assertEquals(configurable_desc,47 Object.getOwnPropertyDescriptor(proxy_without_handler,48 "configurable"));49assertEquals(nonconfigurable_desc,50 Object.getOwnPropertyDescriptor(proxy_without_handler,51 "nonconfigurable"));52assertThrows('Object.getOwnPropertyDescriptor(proxy, "return_null")');53handler.getOwnPropertyDescriptor = undefined;54assertEquals(configurable_desc,55 Object.getOwnPropertyDescriptor(proxy, "configurable"));56// Checking invariants mentioned explicitly by the ES spec:57// (Inv-1) "A property cannot be reported as non-existent, if it exists as a58// non-configurable own property of the target object."59handler.getOwnPropertyDescriptor = function(target, name) { return undefined; };60assertThrows('Object.getOwnPropertyDescriptor(proxy, "nonconfigurable")');61assertEquals(undefined, Object.getOwnPropertyDescriptor(proxy, "configurable"));62// (Inv-2) "A property cannot be reported as non-configurable, if it does not63// exist as an own property of the target object or if it exists as a64// configurable own property of the target object."65handler.getOwnPropertyDescriptor = function(target, name) {66 return {value: 234, configurable: false, enumerable: true};67};68assertThrows('Object.getOwnPropertyDescriptor(proxy, "nonexistent")');69assertThrows('Object.getOwnPropertyDescriptor(proxy, "configurable")');70assertEquals(71 false,72 Object.getOwnPropertyDescriptor(proxy, "nonconfigurable").configurable);73// (Inv-3) "A property cannot be reported as non-existent, if it exists as an74// own property of the target object and the target object is not extensible."75Object.seal(target);76handler.getOwnPropertyDescriptor = function(target, name) { return undefined; };77assertThrows('Object.getOwnPropertyDescriptor(proxy, "configurable")');78assertThrows('Object.getOwnPropertyDescriptor(proxy, "nonconfigurable")');79assertEquals(undefined, Object.getOwnPropertyDescriptor(proxy, "nonexistent"));80// (Inv-4) "A property cannot be reported as existent, if it does not exist as81// an own property of the target object and the target object is not82// extensible."83var existent_desc = {value: "yes"};84handler.getOwnPropertyDescriptor = function() { return existent_desc; };85assertThrows('Object.getOwnPropertyDescriptor(proxy, "nonexistent")');86assertEquals(87 {value: "yes", writable: false, enumerable: false, configurable: false},88 Object.getOwnPropertyDescriptor(proxy, "configurable"));89// Checking individual bailout points in the implementation:90// Step 6: Trap is not callable.91handler.getOwnPropertyDescriptor = {};92assertThrows('Object.getOwnPropertyDescriptor(proxy, "configurable")');93// Step 8: Trap throws.94handler.getOwnPropertyDescriptor = function() { throw "ball"; };95assertThrows('Object.getOwnPropertyDescriptor(proxy, "configurable")');96// Step 9: Trap result is neither undefined nor an object.97handler.getOwnPropertyDescriptor = function() { return 1; }98assertThrows('Object.getOwnPropertyDescriptor(proxy, "configurable")');99// Step 11b: See (Inv-1) above.100// Step 11e: See (Inv-3) above.101// Step 16: Incompatible PropertyDescriptor; a non-configurable property102// cannot be reported as configurable. (Inv-4) above checks more cases.103handler.getOwnPropertyDescriptor = function(target, name) {104 return {value: 456, configurable: true, writable: true}105};106assertThrows('Object.getOwnPropertyDescriptor(proxy, "nonconfigurable")');...
regress-7791.js
Source:regress-7791.js
...7 const o = {8 get foo() { return 666 },9 foo: 42,10 };11 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').value);12}13{14 const o = {15 set foo(_) { },16 foo: 42,17 };18 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').value);19}20{21 const o = {22 get foo() { return 666 },23 set foo(_) { },24 foo: 42,25 };26 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').value);27}28{29 const o = {30 get foo() { return 666 },31 set ['foo'.slice()](_) { },32 foo: 42,33 };34 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').value);35}36{37 const o = {38 get ['foo'.slice()]() { return 666 },39 set ['foo'.slice()](_) { },40 foo: 42,41 };42 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').value);43}44// Data property first.45{46 const o = {47 foo: 666,48 get foo() { return 42 },49 };50 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').get());51}52{53 const o = {54 foo: 666,55 set foo(_) { },56 };57 assertEquals(undefined, Object.getOwnPropertyDescriptor(o, 'foo').get);58 assertEquals(undefined, Object.getOwnPropertyDescriptor(o, 'foo').value);59}60{61 const o = {62 foo: 666,63 get foo() { return 42 },64 set foo(_) { },65 };66 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').get());67}68{69 const o = {70 foo: 666,71 get ['foo'.slice()]() { return 42 },72 set foo(_) { },73 };74 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').get());75}76{77 const o = {78 foo: 666,79 get ['foo'.slice()]() { return 42 },80 set ['foo'](_) { },81 };82 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').get());83}84// Data property in the middle.85{86 const o = {87 get foo() { return 42 },88 foo: 666,89 set foo(_) { },90 };91 assertEquals(undefined, Object.getOwnPropertyDescriptor(o, 'foo').get);92 assertEquals(undefined, Object.getOwnPropertyDescriptor(o, 'foo').set());93}94{95 const o = {96 set foo(_) { },97 foo: 666,98 get foo() { return 42 },99 };100 assertEquals(42, Object.getOwnPropertyDescriptor(o, 'foo').get());...
Using AI Code Generation
1var sinon = require('sinon');2var assert = require('assert');3var obj = {4};5var descriptor = Object.getOwnPropertyDescriptor(obj, 'a');6assert.equal(descriptor.value, 1);7assert.equal(descriptor.writable, true);8assert.equal(descriptor.enumerable, true);9assert.equal(descriptor.configurable, true);10{ value: 1,11 configurable: true }
Using AI Code Generation
1var obj = {2};3var descriptor = Object.getOwnPropertyDescriptor(obj, 'a');4var obj = {};5Object.defineProperty(obj, 'a', {6});7var obj = {};8Object.defineProperties(obj, {9 a: {10 },11 b: {12 }13});14var obj = {15};16Object.seal(obj);17obj.a = 2;18obj.b = 3;19var obj = {20};21Object.freeze(obj);22obj.a = 2;23obj.b = 3;24var obj = {25};26Object.preventExtensions(obj);27obj.a = 2;28obj.b = 3;29var obj = {30};31Object.seal(obj);32var obj = {33};34Object.freeze(obj);35var obj = {36};37Object.preventExtensions(obj);
Using AI Code Generation
1var sinon = require('sinon');2var object = {3};4var descriptor = Object.getOwnPropertyDescriptor(object, 'name');5var chai = require('chai');6var object = {7};8var descriptor = Object.getOwnPropertyDescriptor(object, 'name');9chai.expect(descriptor.value).to.equal('John');10chai.expect(descriptor.configurable).to.equal(true);11chai.expect(descriptor.writable).to.equal(true);12chai.expect(descriptor.enumerable).to.equal(true);13var assert = require('assert');14var object = {15};16var descriptor = Object.getOwnPropertyDescriptor(object, 'name');17assert.equal(descriptor.value, 'John');18assert.equal(descriptor.configurable, true);19assert.equal(descriptor.writable, true);20assert.equal(descriptor.enumerable, true);21describe("Object.getOwnPropertyDescriptor", function() {22 it("should return the descriptor of the given property", function() {23 var object = {24 };25 var descriptor = Object.getOwnPropertyDescriptor(object, 'name');26 expect(descriptor.value).toEqual('John');27 expect(descriptor.configurable).toEqual(true);28 expect(descriptor.writable).toEqual(true);29 expect(descriptor.enumerable).toEqual(true);30 });31});32var assert = require('assert');33var object = {34};35var descriptor = Object.getOwnPropertyDescriptor(object, 'name');36assert.equal(descriptor.value, 'John');37assert.equal(descriptor.configurable, true);38assert.equal(descriptor.writable, true);39assert.equal(descriptor.enumerable, true);40var test = require('tap').test;41var object = {42};43var descriptor = Object.getOwnPropertyDescriptor(object, 'name');44test('Object.getOwnPropertyDescriptor', function(t) {45 t.plan(4);46 t.equal(descriptor.value, 'John');47 t.equal(descriptor.configurable, true);48 t.equal(descriptor.writable, true);49 t.equal(descriptor.enumerable, true);50});51QUnit.test("Object.getOwnPropertyDescriptor", function(assert) {
Using AI Code Generation
1var obj = {2};3Object.defineProperty(obj, 'b', {4});5console.log(Object.getOwnPropertyDescriptor(obj, 'a'));6console.log(Object.getOwnPropertyDescriptor(obj, 'b'));7console.log(Object.getOwnPropertyDescriptor(obj, 'c'));8var obj = {9};10Object.defineProperty(obj, 'c', {11});12console.log(Object.getOwnPropertyNames(obj));13console.log(Object.getOwnPropertyNames(obj).length);14console.log(Object.getOwnPropertyNames(obj).indexOf('a'));15console.log(Object.getOwnPropertyNames(obj).indexOf('b'));16console.log(Object.getOwnPropertyNames(obj).indexOf('c'));17console.log(Object.getOwnPropertyNames(obj).indexOf('d'));18var obj = {19};20var proto = {21};22Object.setPrototypeOf(obj, proto);23console.log(Object.getPrototypeOf(obj));24console.log(Object.getPrototypeOf(obj) === proto);25console.log(Object.getPrototypeOf(obj) === Object.prototype);26var obj = {27};28console.log(Object.isExtensible(obj));29Object.preventExtensions(obj);30console.log(Object.isExtensible(obj));31var obj = {32};33console.log(Object.isFrozen(obj));34Object.freeze(obj);35console.log(Object.isFrozen(obj));36var obj = {37};38console.log(Object.isSealed(obj));39Object.seal(obj);40console.log(Object.isSealed(obj));
Using AI Code Generation
1var obj = { foo: 1 };2var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');3console.log(descriptor);4var obj = {};5Object.defineProperty(obj, 'foo', {6});7console.log(obj.foo);8var obj = { foo: 1 };9var names = Object.getOwnPropertyNames(obj);10console.log(names);11var obj = { foo: 1 };12var obj2 = Object.create(obj);13console.log(obj2.foo);14var obj = { foo: 1 };15var keys = Object.keys(obj);16console.log(keys);17var obj = { foo: 1 };18Object.freeze(obj);19obj.foo = 2;20console.log(obj.foo);21var obj = { foo: 1 };22Object.seal(obj);23obj.foo = 2;24console.log(obj.foo);25var obj = { foo: 1 };26Object.preventExtensions(obj);27obj.foo = 2;28console.log(obj.foo);29var obj = { foo: 1 };30console.log(Object.isExtensible(obj));31var obj = { foo: 1 };32console.log(Object.isFrozen(obj));33var obj = { foo: 1 };34console.log(Object.isSealed(obj));35console.log(Object.is(1, 1));36var obj = { foo: 1 };37var obj2 = Object.assign({}, obj);38console.log(obj2.foo);
Using AI Code Generation
1var test = require('sinon').test;2var assert = require('chai').assert;3var sinon = require('sinon');4var obj = {5 get foo() { return 1; }6};7var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');8assert.strictEqual(descriptor.get(), 1);9assert.strictEqual(descriptor.set, undefined);10var test = require('sinon').test;11var assert = require('chai').assert;12var sinon = require('sinon');13var obj = {};14var proto = Object.getPrototypeOf(obj);15assert.strictEqual(proto, Object.prototype);16var test = require('sinon').test;17var assert = require('chai').assert;18var sinon = require('sinon');19assert.strictEqual(Object.is('foo', 'foo'), true);20assert.strictEqual(Object.is(window, window), true);21assert.strictEqual(Object.is('foo', 'bar'), false);22assert.strictEqual(Object.is([], []), false);23var foo = { a: 1 };24var bar = { a: 1 };25assert.strictEqual(Object.is(foo, foo), true);26assert.strictEqual(Object.is(foo, bar), false);27assert.strictEqual(Object.is(null, null), true);28assert.strictEqual(Object.is(null, undefined), false);29var test = require('sinon').test;30var assert = require('chai').assert;31var sinon = require('sinon');32var empty = {};33assert.strictEqual(Object.isExtensible(empty), true);34Object.preventExtensions(empty);35assert.strictEqual(Object.isExtensible(empty), false);36var test = require('sinon').test;37var assert = require('chai').assert;38var sinon = require('sinon');39var empty = {};40assert.strictEqual(Object.isFrozen(empty), false);41Object.freeze(empty);42assert.strictEqual(Object.isFrozen(empty), true);43var test = require('sinon').test;44var assert = require('chai').assert;45var sinon = require('sinon');46var empty = {};47assert.strictEqual(Object.isSealed(empty), false);48Object.seal(empty);49assert.strictEqual(Object.isSealed(empty), true);
Using AI Code Generation
1var sinon = require('sinon');2var obj = {};3var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');4console.log(descriptor);5var sinon = require('sinon');6var obj = {};7var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');8console.log(descriptor);9var sinon = require('sinon');10var obj = {};11var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');12console.log(descriptor);13var sinon = require('sinon');14var obj = {};15var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');16console.log(descriptor);17var sinon = require('sinon');18var obj = {};19var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');20console.log(descriptor);21var sinon = require('sinon');22var obj = {};23var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');24console.log(descriptor);25var sinon = require('sinon');26var obj = {};27var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');28console.log(descriptor);29var sinon = require('sinon');30var obj = {};31var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');32console.log(descriptor);33var sinon = require('sinon');34var obj = {};35var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');36console.log(descriptor);37var sinon = require('sinon');38var obj = {};39var descriptor = Object.getOwnPropertyDescriptor(obj, 'foo');40console.log(descriptor);41var sinon = require('sinon');42var obj = {};43var descriptor = Object.getOwnPropertyDescriptor(obj
Using AI Code Generation
1var sinon = require('sinon');2var obj = {3 method: function() {}4};5var descriptor = Object.getOwnPropertyDescriptor(obj, 'method');6console.log(descriptor);7var sinon = require('sinon');8var obj = {9 method: function() {}10};11var descriptor = Object.getOwnPropertyDescriptor(obj, 'method');12console.log(descriptor);13var sinon = require('sinon');14var obj = {15 method: function() {}16};17var descriptor = Object.getOwnPropertyDescriptor(obj, 'method');18console.log(descriptor);19var sinon = require('sinon');20var obj = {21 method: function() {}22};23var descriptor = Object.getOwnPropertyDescriptor(obj, 'method');24console.log(descriptor);25var sinon = require('sinon');26var obj = {27 method: function() {}28};29var descriptor = Object.getOwnPropertyDescriptor(obj, 'method');30console.log(descriptor);31var sinon = require('sinon');32var obj = {33 method: function() {}34};35var descriptor = Object.getOwnPropertyDescriptor(obj, 'method');36console.log(descriptor);
Using AI Code Generation
1import { get } from 'jquery';2import { getData } from './getData';3jest.mock('jquery');4get.mockImplementation(() => ({5 spy: jest.fn(),6}));7get.mockImplementation(() => ({8 spy: jest.fn(),9 mock: jest.fn().mockReturnValue('mocked value'),10}));11test('test for getData function', () => {12 getData();13 const spy = Object.getOwnPropertyDescriptor(get(), 'spy').value;14 expect(spy).toHaveBeenCalledWith(15 );16});17test('test for getData function', () => {18 getData();19 const mock = Object.getOwnPropertyDescriptor(get(), 'mock').value;20 expect(mock).toHaveBeenCalledWith
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!