Spaces:
Sleeping
Sleeping
import serialize from '../../src/p4/serialize'; | |
global.Blob = class Blob {}; | |
test('no changes returns null', () => { | |
expect(serialize({ | |
a: 2 | |
}, { | |
a: 2 | |
})).toBe(null); | |
}); | |
test('does not serialize missing keys', () => { | |
expect(serialize({ | |
a: 1, | |
b: 2 | |
}, { | |
a: 2 | |
})).toStrictEqual({ | |
a: 1 | |
}) | |
}); | |
test('does not care about types', () => { | |
expect(serialize({ | |
a: '1' | |
}, { | |
a: [] | |
})).toStrictEqual({ | |
a: '1' | |
}) | |
}); | |
test('arrays', () => { | |
expect(serialize({ | |
a: [1] | |
}, { | |
a: [1] | |
})).toStrictEqual(null); | |
expect(serialize({ | |
a: [2] | |
}, { | |
a: [1] | |
})).toStrictEqual({ | |
a: [2] | |
}); | |
}); | |
test('does not serialize blobs', () => { | |
expect(serialize({ | |
a: new Blob(['Hello world']), | |
b: 2 | |
}, { | |
a: null, | |
b: 0 | |
})).toStrictEqual({ | |
b: 2 | |
}); | |
}); | |
test('deep', () => { | |
expect(serialize({ | |
cloud: { | |
test: { | |
a: 2 | |
}, | |
b: 1 | |
}, | |
c: '3' | |
}, { | |
cloud: { | |
test: { | |
a: 3, | |
z: 9 | |
} | |
} | |
})).toStrictEqual({ | |
cloud: { | |
test: { | |
a: 2 | |
} | |
} | |
}); | |
}); | |
test('unexpected array', () => { | |
expect(serialize({ | |
a: [1] | |
}, { | |
a: 1 | |
})).toBe(null); | |
}); | |