From 4b9f37f6721373d997a32a82c1498f8f7d9f377c Mon Sep 17 00:00:00 2001 From: Matthew Beale Date: Fri, 7 Aug 2015 16:31:36 -0400 Subject: [PATCH] Add tests for adopt and free item hooks --- tests/unit/utils/linked-list-test.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/unit/utils/linked-list-test.js b/tests/unit/utils/linked-list-test.js index 9b8e27041..7df611b75 100644 --- a/tests/unit/utils/linked-list-test.js +++ b/tests/unit/utils/linked-list-test.js @@ -21,6 +21,18 @@ test('initial state', (assert) => { assert.equal(item.next, null, 'item next is null'); assert.equal(item.prev, null, 'item prev is null'); }); + + test(`#${method} call adoptItem`, (assert) => { + let adoptedItem; + let list = new LinkedList({ + adoptItem(item) { + adoptedItem = item; + } + }); + let item = new LinkedItem(); + list[method](item); + assert.equal(adoptedItem, item, 'item is adopted'); + }); }); test(`#append second item`, (assert) => { @@ -98,6 +110,19 @@ test(`#remove an only item`, (assert) => { assert.equal(item.next, null, 'item next is null'); }); +test(`#remove calls freeItem`, (assert) => { + let freedItem; + let list = new LinkedList({ + freeItem(item) { + freedItem = item; + } + }); + let item = new LinkedItem(); + list.append(item); + list.remove(item); + assert.equal(freedItem, item, 'item is freed'); +}); + test(`#remove a first item`, (assert) => { let list = new LinkedList(); let itemOne = new LinkedItem();