solidity-docgen
Version:
Solidity API documentation automatic generator.
43 lines • 1.25 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ava_1 = __importDefault(require("ava"));
const memoize_1 = require("./memoize");
ava_1.default('no arguments', t => {
const fn = memoize_1.memoized(() => 4);
t.is(fn(), 4);
});
ava_1.default('one argument', t => {
const fn = memoize_1.memoized(x => x);
t.is(fn(4), 4);
t.is(fn(5), 5);
});
ava_1.default('two arguments', t => {
const fn = memoize_1.memoized((x, y) => x + y);
t.is(fn(4, 4), 8);
t.is(fn(4, 5), 9);
t.is(fn(4, 4), 8);
});
ava_1.default('class method', t => {
class Klass {
constructor(value) {
this.value = value;
this.calls = 0;
}
foo() {
this.calls += 1;
return this.value;
}
}
Klass.prototype.foo = memoize_1.memoized(Klass.prototype.foo);
const inst1 = new Klass(4);
t.is(inst1.foo(), 4);
t.is(inst1.foo(), 4);
t.is(inst1.calls, 1);
const inst2 = new Klass(5);
t.is(inst2.foo(), 5);
t.is(inst1.foo(), 4);
});
//# sourceMappingURL=memoize.test.js.map
;