Skip to content

Commit 4d3dd31

Browse files
authored
Merge pull request #486 from canjs/i468-multiple-entries-support
weak-reference-set does mutiple entries support
2 parents c1cbcfd + 7590a4b commit 4d3dd31

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

helpers/helpers_test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require("./map-deep-merge-test");
2+
require("./weak-reference-set-test");
23

34
var idMerge = require("./id-merge");
45

helpers/weak-reference-set-test.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
var QUnit = require('steal-qunit');
2+
var WeakReferenceSet = require('./weak-reference-set');
3+
4+
QUnit.module("weak-reference-set");
5+
6+
QUnit.test("Multiple entries support #468", function(assert) {
7+
var set = new WeakReferenceSet();
8+
9+
var item1 = {};
10+
var item2 = {};
11+
var item3 = {};
12+
13+
var items = [item1, item2, item3];
14+
15+
for (var index = 0; index < items.length; index++) {
16+
set.addReference(items[index]);
17+
}
18+
19+
assert.equal(set.get(item1), item1, "Got the first item");
20+
assert.equal(set.get(item2), item2, "Got the second item");
21+
assert.equal(set.get(item3), item3, "Got the third item");
22+
});
23+
24+
QUnit.test("Multiple entries support with multiple reference #468", function(assert) {
25+
var set = new WeakReferenceSet();
26+
27+
var obj = {};
28+
var obj2 = {};
29+
30+
for (var index = 0; index < 3; index++) {
31+
set.addReference(obj);
32+
}
33+
34+
set.addReference(obj2);
35+
36+
assert.equal(set.referenceCount(obj), 3, "Got the correct reference count");
37+
assert.equal(set.referenceCount(obj2), 1, "Got correct reference count for multiple entries");
38+
});
39+

helpers/weak-reference-set.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ assign(WeakReferenceSet.prototype,{
6363
index = i;
6464
return false;
6565
}
66+
return true;
6667
});
6768
return index !== undefined ? index : -1;
6869
},

0 commit comments

Comments
 (0)