UNPKG

solidity-docgen

Version:

Solidity API documentation automatic generator.

43 lines 1.25 kB
"use strict"; 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