teletexthash
Version:
edit-tf compatible teletext has encoder and decoder library
39 lines (35 loc) • 4.45 kB
JavaScript
const { decode } = require('..');
const assert = require('assert');
const teletextPageBuffer1 = new Uint8Array(25 * 40).fill(0x20);
const teletextPageBuffer2 = new Uint8Array(25 * 40).map(
(char, index) => (index % 2 === 0 ? 0x61 : 0x20)
);
const teletextPageBuffer3 = new Uint8Array(25 * 40).map(
(char, index) => ((index + 2) % 6 === 0 ? 0x78 : 0x20)
);
const teletextPageHash1 =
'#0:QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA';
const teletextPageHash2 =
'#1:woMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKDCgwoMKA';
const teletextPageHash3 =
'#0:QIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECDwgQIECA'
describe('decode', function() {
it('should return the correct buffer', function() {
assert.deepEqual(
decode(teletextPageHash1).teletextBuffer,
teletextPageBuffer1
);
});
it('should return the correct buffer', function() {
assert.deepEqual(
decode(teletextPageHash2).teletextBuffer,
teletextPageBuffer2
);
});
it('should return the correct buffer', function() {
assert.deepEqual(
decode(teletextPageHash3).teletextBuffer,
teletextPageBuffer3
);
});
});