corrade-nucleus-nucleons
/script-kiddie/002_script_kiddie/script-kiddie/node_modules/proto-list/test/basic.js |
@@ -0,0 +1,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() |
}) |