mirror of
https://github.com/demostf/demo.js
synced 2026-06-04 09:04:13 +02:00
better transcode test
This commit is contained in:
parent
c9c764aad0
commit
8ee53bf92e
1 changed files with 9 additions and 6 deletions
|
|
@ -7,10 +7,15 @@ import {Parser} from '../../Parser';
|
|||
import {Analyser} from '../../Analyser';
|
||||
|
||||
function testDemo(name: string) {
|
||||
const target = JSON.parse(readFileSync(`${__dirname}/../data/${name}.json`, 'utf8'));
|
||||
const decodeStream = new BitStream(
|
||||
readFileSync(`${__dirname}/../data/${name}.dem`).buffer as ArrayBuffer
|
||||
);
|
||||
|
||||
const parser = new Parser(decodeStream);
|
||||
const analyser = new Analyser(parser);
|
||||
const original = analyser.getBody().getState();
|
||||
decodeStream.index = 0;
|
||||
|
||||
const encodeStream = new DynamicBitStream(32 * 1024 * 1024);
|
||||
|
||||
const transformer = new Transformer(decodeStream, encodeStream);
|
||||
|
|
@ -19,17 +24,15 @@ function testDemo(name: string) {
|
|||
const encodedLength = encodeStream.index;
|
||||
encodeStream.index = 0;
|
||||
|
||||
console.log('start reparse');
|
||||
|
||||
const reParser = new Parser(encodeStream);
|
||||
const analyser = new Analyser(reParser);
|
||||
const parsed = analyser.getBody().getState();
|
||||
const reAnalyser = new Analyser(reParser);
|
||||
const parsed = reAnalyser.getBody().getState();
|
||||
|
||||
const reParsedLength = encodeStream.index;
|
||||
|
||||
assert.equal(reParsedLength, encodedLength, 'Unexpected number of bits used when parsing encoding stream');
|
||||
|
||||
assert.deepEqual(JSON.parse(JSON.stringify(parsed)), target);
|
||||
assert.deepEqual(JSON.parse(JSON.stringify(parsed)), original);
|
||||
}
|
||||
|
||||
suite('Transcode demo', () => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue