diff options
author | Rebecca Turner <me@re-becca.org> | 2016-05-06 15:22:02 -0700 |
---|---|---|
committer | Jeremiah Senkpiel <fishrock123@rocketmail.com> | 2016-05-10 14:45:28 -0400 |
commit | 5c36cfc8438d28ee5050ee6d5c383cf9c5b895fb (patch) | |
tree | 6165b1b2ee92982a1e157ac29c924b516771780d /deps/npm/node_modules/readable-stream/node_modules/unreachable-branch-transform/node_modules/recast/node_modules/private/test/run.js | |
parent | 101dd1ed789175311ab22f9a32dfc480f127bc68 (diff) | |
download | android-node-v8-5c36cfc8438d28ee5050ee6d5c383cf9c5b895fb.tar.gz android-node-v8-5c36cfc8438d28ee5050ee6d5c383cf9c5b895fb.tar.bz2 android-node-v8-5c36cfc8438d28ee5050ee6d5c383cf9c5b895fb.zip |
deps: upgrade npm to 3.8.9
Contains the following three npm releases:
https://github.com/npm/npm/releases/tag/v3.8.7
https://github.com/npm/npm/releases/tag/v3.8.8
https://github.com/npm/npm/releases/tag/v3.8.9
PR-URL: https://github.com/nodejs/node/pull/6664
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Diffstat (limited to 'deps/npm/node_modules/readable-stream/node_modules/unreachable-branch-transform/node_modules/recast/node_modules/private/test/run.js')
-rw-r--r-- | deps/npm/node_modules/readable-stream/node_modules/unreachable-branch-transform/node_modules/recast/node_modules/private/test/run.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/deps/npm/node_modules/readable-stream/node_modules/unreachable-branch-transform/node_modules/recast/node_modules/private/test/run.js b/deps/npm/node_modules/readable-stream/node_modules/unreachable-branch-transform/node_modules/recast/node_modules/private/test/run.js new file mode 100644 index 0000000000..dc3c888f06 --- /dev/null +++ b/deps/npm/node_modules/readable-stream/node_modules/unreachable-branch-transform/node_modules/recast/node_modules/private/test/run.js @@ -0,0 +1,68 @@ +var assert = require("assert"); +var makeAccessor = require("../private").makeAccessor; +var acc1 = makeAccessor(); +var obj = {}; +var hasOwn = obj.hasOwnProperty; + +acc1(obj).foo = 42; +assert.deepEqual(obj, {}); +assert.deepEqual(acc1(obj), { foo: 42 }); +assert.deepEqual(acc1(acc1(obj)), {}); +assert.deepEqual(acc1(obj), { foo: 42 }); +assert.deepEqual(Object.keys(acc1(obj)), ["foo"]); +assert.strictEqual(Object.getOwnPropertyNames(acc1(obj)).length, 1); +assert.strictEqual(Object.getOwnPropertyNames(acc1(acc1(obj))).length, 0); +acc1(obj).bar = "baz"; +assert.deepEqual(acc1(obj), { foo: 42, bar: "baz" }); +delete acc1(obj).foo; +assert.deepEqual(acc1(obj), { bar: "baz" }); + +try { + acc1(42); + throw new Error("threw wrong error"); +} catch (err) { + assert.ok(err); +} + +var acc2 = makeAccessor(); +assert.notStrictEqual(acc1, acc2); +assert.notStrictEqual(acc1(obj), acc2(obj)); +assert.deepEqual(acc2(obj), {}); +assert.strictEqual(Object.getOwnPropertyNames(obj).length, 0); +assert.strictEqual(Object.keys(obj).length, 0); +acc2(obj).bar = "asdf"; +assert.deepEqual(acc2(obj), { bar: "asdf" }); + +acc2.forget(obj); +acc2(obj).bar = "asdf"; +var oldSecret = acc2(obj); +assert.strictEqual(oldSecret.bar, "asdf"); +acc2.forget(obj); +var newSecret = acc2(obj); +assert.notStrictEqual(oldSecret, newSecret); +assert.ok(hasOwn.call(oldSecret, "bar")); +assert.ok(!hasOwn.call(newSecret, "bar")); +newSecret.bar = "zxcv"; +assert.strictEqual(oldSecret.bar, "asdf"); +assert.strictEqual(acc2(obj).bar, "zxcv"); + +function creatorFn(object) { + return { self: object }; +} + +var acc3 = makeAccessor(creatorFn); + +acc3(obj).xxx = "yyy"; +assert.deepEqual(acc3(obj), { + self: obj, + xxx: "yyy" +}); + +acc3.forget(obj); +assert.deepEqual(acc3(obj), { + self: obj +}); + +var green = "\033[32m"; +var reset = "\033[0m"; +console.log(green + "ALL PASS" + reset); |