moy-dom
Version:
A flexiable Virtual DOM library for building modern web interface.
74 lines (71 loc) • 1.17 kB
JavaScript
import makeKeyIndexAndFree from '../../src/listDiff/makeKeyIndexAndFree'
describe('test makeKeyIndexAndFree', () => {
test('just with keys', () => {
expect(
makeKeyIndexAndFree([{
key: 0,
}, {
key: 1,
}, {
key: 2,
}, {
key: 3,
}])
).toEqual({
keyIndex: new Map([
[0, 0],
[1, 1],
[2, 2],
[3, 3],
]),
free: [],
})
})
test('just with frees', () => {
expect(
makeKeyIndexAndFree([{
item: 0,
}, {
item: 1,
}, {
item: 2,
}, {
item: 3,
}])
).toEqual({
keyIndex: new Map(),
free: [{
item: 0,
}, {
item: 1,
}, {
item: 2,
}, {
item: 3,
}]
})
})
test('with keys and frees', () => {
expect(
makeKeyIndexAndFree([{
key: 0,
}, {
item: 1,
}, {
key: 2,
}, {
item: 3,
}])
).toEqual({
keyIndex: new Map([
[0, 0],
[2, 2],
]),
free: [{
item: 1,
}, {
item: 3,
}]
})
})
})