| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 | | var tap = require("tap") |  |   , test = tap.test |  |   , ProtoList = require("../proto-list.js") |  |   |  | tap.plan(1) |  |   |  | tap.test("protoList tests", function (t) { |  |   var p = new ProtoList |  |   p.push({foo:"bar"}) |  |   p.push({}) |  |   p.set("foo", "baz") |  |   t.equal(p.get("foo"), "baz") |  |   |  |   var p = new ProtoList |  |   p.push({foo:"bar"}) |  |   p.set("foo", "baz") |  |   t.equal(p.get("foo"), "baz") |  |   t.equal(p.length, 1) |  |   p.pop() |  |   t.equal(p.length, 0) |  |   p.set("foo", "asdf") |  |   t.equal(p.length, 1) |  |   t.equal(p.get("foo"), "asdf") |  |   p.push({bar:"baz"}) |  |   t.equal(p.length, 2) |  |   t.equal(p.get("foo"), "asdf") |  |   p.shift() |  |   t.equal(p.length, 1) |  |   t.equal(p.get("foo"), undefined) |  |   |  |   |  |   p.unshift({foo:"blo", bar:"rab"}) |  |   p.unshift({foo:"boo"}) |  |   t.equal(p.length, 3) |  |   t.equal(p.get("foo"), "boo") |  |   t.equal(p.get("bar"), "rab") |  |   |  |   var ret = p.splice(1, 1, {bar:"bar"}) |  |   t.same(ret, [{foo:"blo", bar:"rab"}]) |  |   t.equal(p.get("bar"), "bar") |  |   |  |   // should not inherit default object properties |  |   t.equal(p.get('hasOwnProperty'), undefined) |  |   |  |   // unless we give it those. |  |   p.root = {} |  |   t.equal(p.get('hasOwnProperty'), {}.hasOwnProperty) |  |   |  |   p.root = {default:'monkey'} |  |   t.equal(p.get('default'), 'monkey') |  |   |  |   p.push({red:'blue'}) |  |   p.push({red:'blue'}) |  |   p.push({red:'blue'}) |  |   while (p.length) { |  |     t.equal(p.get('default'), 'monkey') |  |     p.shift() |  |   } |  |   |  |   t.end() |  | }) | 
 |