Browse Source

linkedlist: remove unused methods

PR-URL: https://github.com/nodejs/node/pull/11726
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
v6
Brian White 8 years ago
committed by James M Snell
parent
commit
b40dab553f
  1. 16
      lib/internal/linkedlist.js
  2. 36
      test/parallel/test-timers-linked-list.js

16
lib/internal/linkedlist.js

@ -5,26 +5,12 @@ function init(list) {
list._idlePrev = list;
}
// create a new linked list
function create() {
const list = { _idleNext: null, _idlePrev: null };
init(list);
return list;
}
// show the most idle item
function peek(list) {
if (list._idlePrev === list) return null;
return list._idlePrev;
}
// remove the most idle item from the list
function shift(list) {
const first = list._idlePrev;
remove(first);
return first;
}
// remove a item from its list
function remove(item) {
if (item._idleNext) {
@ -61,9 +47,7 @@ function isEmpty(list) {
module.exports = {
init,
create,
peek,
shift,
remove,
append,
isEmpty

36
test/parallel/test-timers-linked-list.js

@ -59,14 +59,8 @@ L.append(list, D);
// list -> A -> B -> C -> D
assert.strictEqual(A, L.peek(list));
assert.strictEqual(A, L.shift(list));
// list -> B -> C -> D
assert.strictEqual(B, L.peek(list));
assert.strictEqual(B, L.shift(list));
// list -> C -> D
assert.strictEqual(C, L.peek(list));
L.remove(A);
L.remove(B);
// B is already removed, so removing it again shouldn't hurt.
L.remove(B);
// list -> C -> D
@ -104,26 +98,10 @@ L.append(list, A);
// Append should REMOVE C from the list and append it to the end.
L.append(list, C);
// list -> D -> B -> A -> C
assert.strictEqual(D, L.shift(list));
// list -> B -> A -> C
assert.strictEqual(B, L.peek(list));
assert.strictEqual(B, L.shift(list));
// list -> A -> C
assert.strictEqual(A, L.peek(list));
assert.strictEqual(A, L.shift(list));
// list -> C
assert.strictEqual(C, L.peek(list));
assert.strictEqual(C, L.shift(list));
// list
assert.ok(L.isEmpty(list));
const list2 = L.create();
const list3 = L.create();
assert.ok(L.isEmpty(list2));
assert.ok(L.isEmpty(list3));
// Objects should have identical keys/properties, but be different objects.
assert.deepStrictEqual(list2, list3);
assert.notStrictEqual(list2, list3);
assert.strictEqual(D, L.peek(list));
assert.strictEqual(B, L.peek(D));
assert.strictEqual(A, L.peek(B));
assert.strictEqual(C, L.peek(A));
assert.strictEqual(list, L.peek(C));

Loading…
Cancel
Save