objection-cursor
Version:
Cursor based pagination plugin for Objection.js
26 lines (22 loc) • 730 B
JavaScript
import {expect} from 'chai';
import {serializeCursor, deserializeCursor} from '../lib/serialize';
const SERIALIZE_ITEMS = [
['<IMG SRC=javascrip>'],
[new Date(38573587)],
[12]
];
describe('serialization tests', () => {
it('serializes into url-safe strings', () => {
for (const item of SERIALIZE_ITEMS) {
const cursor = serializeCursor(item);
expect(/^[a-zA-Z0-9~._-]+$/.test(cursor)).to.be.true;
}
});
it('deserializes cursor back to item', () => {
for (const item of SERIALIZE_ITEMS) {
const cursor = serializeCursor(item);
const deserialized = deserializeCursor(cursor);
expect(deserialized).to.deep.equal(item);
}
});
});