]> git.r.bdr.sh - rbdr/dotfiles/blob
0d2d4da04a53b180405004ee99982bb4e6c7953a
[rbdr/dotfiles] /
1 'use strict';
2
3 var create = Object.create, defineProperty = Object.defineProperty;
4
5 module.exports = function (t, a) {
6 var x = { foo: 'raz', bar: 'dwa' }, y;
7 y = t(x);
8 a.not(y, x, "Returns copy");
9 a.deep(y, x, "Plain");
10
11 x = { raz: 'one', dwa: 'two' };
12 defineProperty(x, 'get', {
13 configurable: true,
14 enumerable: true,
15 get: function () { return this.dwa; }
16 });
17 x = create(x);
18 x.trzy = 'three';
19 x.cztery = 'four';
20 x = create(x);
21 x.dwa = 'two!';
22 x.trzy = 'three!';
23 x.piec = 'five';
24 x.szesc = 'six';
25
26 a.deep(t(x), { raz: 'one', dwa: 'two!', trzy: 'three!', cztery: 'four',
27 piec: 'five', szesc: 'six', get: 'two!' }, "Deep object");
28
29 a.deep(t({ marko: 'raz', raz: 'foo' }, x, { szesc: 'elo', siedem: 'bibg' }),
30 { marko: 'raz', raz: 'one', dwa: 'two!', trzy: 'three!', cztery: 'four',
31 piec: 'five', szesc: 'elo', siedem: 'bibg', get: 'two!' }, "Multiple options");
32 };