Linter config lints test directory (#99)

Modify eslint config to lint ./test/
This commit is contained in:
Nathan Nichols
2020-08-21 17:04:14 -05:00
parent 7438640753
commit b14f055c6c
20 changed files with 1129 additions and 1066 deletions

View File

@@ -1,87 +1,88 @@
const { ShaMap } = require('../dist/shamap.js')
const { binary, HashPrefix } = require('../dist/coretypes')
const { coreTypes } = require('../dist/types')
const { loadFixture } = require('./utils')
const { ShaMap } = require("../dist/shamap.js");
const { binary, HashPrefix } = require("../dist/coretypes");
const { coreTypes } = require("../dist/types");
const { loadFixture } = require("./utils");
function now () {
return (Number(Date.now())) / 1000
function now() {
return Number(Date.now()) / 1000;
}
const ZERO =
'0000000000000000000000000000000000000000000000000000000000000000'
const ZERO = "0000000000000000000000000000000000000000000000000000000000000000";
function makeItem (indexArg) {
let str = indexArg
function makeItem(indexArg) {
let str = indexArg;
while (str.length < 64) {
str += '0'
str += "0";
}
const index = coreTypes.Hash256.from(str)
const index = coreTypes.Hash256.from(str);
const item = {
toBytesSink (sink) {
index.toBytesSink(sink)
toBytesSink(sink) {
index.toBytesSink(sink);
},
hashPrefix () {
return Buffer.from([1, 3, 3, 7])
}
}
return [index, item]
hashPrefix() {
return Buffer.from([1, 3, 3, 7]);
},
};
return [index, item];
}
describe('ShaMap', () => {
now()
describe("ShaMap", () => {
now();
test('hashes to zero when empty', () => {
const map = new ShaMap()
expect(map.hash().toHex()).toBe(ZERO)
})
test('creates the same hash no matter which order items are added', () => {
let map = new ShaMap()
test("hashes to zero when empty", () => {
const map = new ShaMap();
expect(map.hash().toHex()).toBe(ZERO);
});
test("creates the same hash no matter which order items are added", () => {
let map = new ShaMap();
const items = [
'0',
'1',
'11',
'7000DE445E22CB9BB7E1717589FA858736BAA5FD192310E20000000000000000',
'7000DE445E22CB9BB7E1717589FA858736BAA5FD192310E21000000000000000',
'7000DE445E22CB9BB7E1717589FA858736BAA5FD192310E22000000000000000',
'7000DE445E22CB9BB7E1717589FA858736BAA5FD192310E23000000000000000',
'12',
'122'
]
items.forEach(i => map.addItem(...makeItem(i)))
const h1 = map.hash()
expect(h1.eq(h1)).toBe(true)
map = new ShaMap()
items.reverse().forEach(i => map.addItem(...makeItem(i)))
expect(map.hash()).toStrictEqual(h1)
})
function factory (fixture) {
"0",
"1",
"11",
"7000DE445E22CB9BB7E1717589FA858736BAA5FD192310E20000000000000000",
"7000DE445E22CB9BB7E1717589FA858736BAA5FD192310E21000000000000000",
"7000DE445E22CB9BB7E1717589FA858736BAA5FD192310E22000000000000000",
"7000DE445E22CB9BB7E1717589FA858736BAA5FD192310E23000000000000000",
"12",
"122",
];
items.forEach((i) => map.addItem(...makeItem(i)));
const h1 = map.hash();
expect(h1.eq(h1)).toBe(true);
map = new ShaMap();
items.reverse().forEach((i) => map.addItem(...makeItem(i)));
expect(map.hash()).toStrictEqual(h1);
});
function factory(fixture) {
test(`recreate account state hash from ${fixture}`, () => {
const map = new ShaMap()
const ledger = loadFixture(fixture)
const map = new ShaMap();
const ledger = loadFixture(fixture);
// const t = now();
const leafNodePrefix = HashPrefix.accountStateEntry
ledger.accountState.map((e, i) => {
if (i > 1000 & (i % 1000) === 0) {
console.log(e.index)
console.log(i)
}
const bytes = binary.serializeObject(e)
return {
index: coreTypes.Hash256.from(e.index),
hashPrefix () {
return leafNodePrefix
},
toBytesSink (sink) {
sink.put(bytes)
const leafNodePrefix = HashPrefix.accountStateEntry;
ledger.accountState
.map((e, i) => {
if ((i > 1000) & (i % 1000 === 0)) {
console.log(e.index);
console.log(i);
}
}
}).forEach(so => map.addItem(so.index, so))
expect(map.hash().toHex()).toBe(ledger.account_hash)
const bytes = binary.serializeObject(e);
return {
index: coreTypes.Hash256.from(e.index),
hashPrefix() {
return leafNodePrefix;
},
toBytesSink(sink) {
sink.put(bytes);
},
};
})
.forEach((so) => map.addItem(so.index, so));
expect(map.hash().toHex()).toBe(ledger.account_hash);
// console.log('took seconds: ', (now() - t));
})
});
}
factory('ledger-full-38129.json')
factory('ledger-full-40000.json')
factory("ledger-full-38129.json");
factory("ledger-full-40000.json");
// factory('ledger-4320277.json');
// factory('14280680.json');
})
});