initial commit
This commit is contained in:
53
node_modules/memoizee/test/lib/weak.js
generated
vendored
Normal file
53
node_modules/memoizee/test/lib/weak.js
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
/* eslint id-length: 0, no-shadow: 0, no-unused-vars: 0 */
|
||||
|
||||
"use strict";
|
||||
|
||||
var memoize = require("../..");
|
||||
|
||||
require("../ext/dispose");
|
||||
require("../ext/ref-counter");
|
||||
|
||||
module.exports = function (t, a) {
|
||||
var value = [], obj = {}, memoized, count = 0, x, y, z;
|
||||
t = t(memoize);
|
||||
memoized = t(
|
||||
function (arg, x, y) {
|
||||
a(arg, obj);
|
||||
return x + y;
|
||||
},
|
||||
{
|
||||
refCounter: true,
|
||||
dispose: function (val) {
|
||||
value.push(val);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
a(memoized(obj, 3, 7), 10);
|
||||
a(memoized(obj, 5, 8), 13);
|
||||
a(memoized(obj, 12, 4), 16);
|
||||
a.deep(value, [], "Pre");
|
||||
a(memoized(obj, 5, 8), 13);
|
||||
memoized.deleteRef(obj, 5, 8);
|
||||
a.deep(value, [], "Pre");
|
||||
memoized.deleteRef(obj, 5, 8);
|
||||
a.deep(value, [13], "#1");
|
||||
value = [];
|
||||
memoized.deleteRef(obj, 12, 4);
|
||||
a.deep(value, [16], "#2");
|
||||
|
||||
value = [];
|
||||
memoized(obj, 77, 11);
|
||||
|
||||
x = {};
|
||||
y = {};
|
||||
z = {};
|
||||
memoized = t(function (arg) {
|
||||
return ++count;
|
||||
});
|
||||
a(memoized(x), 1);
|
||||
a(memoized(y), 2);
|
||||
a(memoized(x), 1);
|
||||
a(memoized(z), 3);
|
||||
a(count, 3);
|
||||
};
|
||||
Reference in New Issue
Block a user