]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/config-chain/node_modules/proto-list/test/basic.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / config-chain / node_modules / proto-list / test / basic.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/config-chain/node_modules/proto-list/test/basic.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/config-chain/node_modules/proto-list/test/basic.js
new file mode 100644 (file)
index 0000000..5cd66be
--- /dev/null
@@ -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()
+})