mirror of
https://github.com/appy-one/acebase-core.git
synced 2026-06-30 06:02:04 -06:00
more serializing unit tests
This commit is contained in:
parent
c7d40eeb65
commit
ec4fb29b0f
1 changed files with 55 additions and 2 deletions
|
|
@ -1,5 +1,7 @@
|
|||
const { Transport } = require('../dist/transport');
|
||||
const { PartialArray } = require('../dist/partial-array')
|
||||
const { Transport } = require('../dist/cjs/transport');
|
||||
const { PartialArray } = require('../dist/cjs/partial-array');
|
||||
const { encodeString } = require('../dist/cjs/utils');
|
||||
const { PathReference } = require('../dist/cjs/path-reference');
|
||||
|
||||
describe('Transport (de)serializing', () => {
|
||||
|
||||
|
|
@ -22,6 +24,57 @@ describe('Transport (de)serializing', () => {
|
|||
ver = Transport.detectSerializeVersion(ser);
|
||||
expect(ver).toBe(2);
|
||||
|
||||
// v1 regexp
|
||||
val = /test/ig;
|
||||
ser = Transport.serialize(val);
|
||||
expect(ser).toEqual({ map: 'regexp', val: { pattern: 'test', flags: 'gi' } });
|
||||
check = Transport.deserialize(ser);
|
||||
expect(check).toEqual(val);
|
||||
ver = Transport.detectSerializeVersion(ser);
|
||||
expect(ver).toBe(1);
|
||||
|
||||
// v2 regexp
|
||||
ser = Transport.serialize2(val);
|
||||
expect(ser).toEqual({ '.type': 'regexp', '.val': `/${val.source}/${val.flags}` });
|
||||
check = Transport.deserialize2(ser);
|
||||
expect(check).toEqual(val);
|
||||
ver = Transport.detectSerializeVersion(ser);
|
||||
expect(ver).toBe(2);
|
||||
|
||||
// v1 binary
|
||||
val = encodeString('AceBase rocks').buffer;
|
||||
ser = Transport.serialize(val);
|
||||
expect(ser).toEqual({ map: 'binary', val:`<~6"=Im@<6!&Ec5H'Er~>` });
|
||||
check = Transport.deserialize(ser);
|
||||
expect(check).toEqual(val);
|
||||
ver = Transport.detectSerializeVersion(ser);
|
||||
expect(ver).toBe(1);
|
||||
|
||||
// v2 binary
|
||||
ser = Transport.serialize2(val);
|
||||
expect(ser).toEqual({ '.type': 'binary', '.val': `<~6"=Im@<6!&Ec5H'Er~>` });
|
||||
check = Transport.deserialize2(ser);
|
||||
expect(check).toEqual(val);
|
||||
ver = Transport.detectSerializeVersion(ser);
|
||||
expect(ver).toBe(2);
|
||||
|
||||
// v1 path reference
|
||||
val = new PathReference('other/path');
|
||||
ser = Transport.serialize(val);
|
||||
expect(ser).toEqual({ map: 'reference', val: `other/path` });
|
||||
check = Transport.deserialize(ser);
|
||||
expect(check).toEqual(val);
|
||||
ver = Transport.detectSerializeVersion(ser);
|
||||
expect(ver).toBe(1);
|
||||
|
||||
// v2 path reference
|
||||
ser = Transport.serialize2(val);
|
||||
expect(ser).toEqual({ '.type': 'reference', '.val': `other/path` });
|
||||
check = Transport.deserialize2(ser);
|
||||
expect(check).toEqual(val);
|
||||
ver = Transport.detectSerializeVersion(ser);
|
||||
expect(ver).toBe(2);
|
||||
|
||||
});
|
||||
|
||||
it('object values', () => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue