forked from enviPath/enviPy
59 lines
966 B
JavaScript
59 lines
966 B
JavaScript
var assert = require('assert')
|
|
var P = require('./index.js')
|
|
var a = { a: 1 }
|
|
var b = { b: 1 }
|
|
|
|
var t = require('tap')
|
|
t.jobs = 64
|
|
process.env.TAP_BUFFER = 1
|
|
|
|
t.test(function removeFirstItem (t) {
|
|
var p = new P
|
|
p.add(a)
|
|
p.add(b)
|
|
p.remove(a)
|
|
t.equal(p.length, 1)
|
|
t.equal(p.head, p.tail)
|
|
t.equal(p.head.data, b)
|
|
t.end()
|
|
})
|
|
|
|
t.test(function removeTail (t) {
|
|
var p = new P
|
|
p.add(a)
|
|
p.add(b)
|
|
p.remove(b)
|
|
t.equal(p.length, 1)
|
|
t.equal(p.head, p.tail)
|
|
t.equal(p.head.data, a)
|
|
t.end()
|
|
})
|
|
|
|
t.test(function removeAll (t) {
|
|
var p = new P
|
|
p.add(a)
|
|
p.add(b)
|
|
p.remove(a)
|
|
p.remove(b)
|
|
t.equal(p.length, 0)
|
|
t.equal(p.head, p.tail)
|
|
t.equal(p.head, null)
|
|
t.end()
|
|
})
|
|
|
|
t.test(function removeExtra (t) {
|
|
var p = new P
|
|
p.add(a)
|
|
p.add(b)
|
|
p.remove(b)
|
|
p.remove({some: 'thing not in there'})
|
|
p.remove(a)
|
|
p.remove(a)
|
|
p.remove(a)
|
|
p.remove(a)
|
|
t.equal(p.length, 0)
|
|
t.equal(p.head, p.tail)
|
|
t.equal(p.head, null)
|
|
t.end()
|
|
})
|