]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/object/mixin-prototypes.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / node-gyp / node_modules / path-array / node_modules / array-index / node_modules / es6-symbol / node_modules / es5-ext / test / object / mixin-prototypes.js
1 'use strict';
2
3 module.exports = function (t, a) {
4         var o, o1, o2, x, y = {}, z = {};
5         o = { inherited: true, visible: 23 };
6         o1 = Object.create(o);
7         o1.visible = z;
8         o1.nonremovable = 'raz';
9         Object.defineProperty(o1, 'hidden', { value: 'hidden' });
10
11         o2 = Object.defineProperties({}, { nonremovable: { value: y } });
12         o2.other = 'other';
13
14         try { t(o2, o1); } catch (ignore) {}
15
16         a(o2.visible, z, "Enumerable");
17         a(o1.hidden, 'hidden', "Not Enumerable");
18         a(o2.propertyIsEnumerable('visible'), true, "Enumerable is enumerable");
19         a(o2.propertyIsEnumerable('hidden'), false,
20                 "Not enumerable is not enumerable");
21
22         a(o2.inherited, true, "Extend deep");
23
24         a(o2.nonremovable, y, "Do not overwrite non configurable");
25         a(o2.other, 'other', "Own kept");
26
27         x = {};
28         t(x, o2);
29         try { t(x, o1); } catch (ignore) {}
30
31         a(x.visible, z, "Enumerable");
32         a(x.hidden, 'hidden', "Not Enumerable");
33         a(x.propertyIsEnumerable('visible'), true, "Enumerable is enumerable");
34         a(x.propertyIsEnumerable('hidden'), false,
35                 "Not enumerable is not enumerable");
36
37         a(x.inherited, true, "Extend deep");
38
39         a(x.nonremovable, y, "Ignored non configurable");
40         a(x.other, 'other', "Other");
41
42         x.visible = 3;
43         a(x.visible, 3, "Writable is writable");
44
45         x = {};
46         t(x, o1);
47         a.throws(function () {
48                 x.hidden = 3;
49         }, "Not writable is not writable");
50
51         x = {};
52         t(x, o1);
53         delete x.visible;
54         a.ok(!x.hasOwnProperty('visible'), "Configurable is configurable");
55
56         x = {};
57         t(x, o1);
58         a.throws(function () {
59                 delete x.hidden;
60         }, "Not configurable is not configurable");
61
62         x = Object.defineProperty({}, 'foo',
63                 { configurable: false, writable: true, enumerable: false, value: 'bar' });
64
65         try { t(x, { foo: 'lorem' }); } catch (ignore) {}
66         a(x.foo, 'bar', "Writable, not enumerable");
67 };