1
0
Fork 0
mirror of https://github.com/demostf/demo.js synced 2026-06-04 00:54:14 +02:00

encoder for classInfo

This commit is contained in:
Robin Appelman 2017-08-12 16:17:38 +02:00
commit a979cf6b83
5 changed files with 60 additions and 13 deletions

View file

@ -0,0 +1,23 @@
import {BitStream} from 'bit-buffer';
import {assertEncoder, assertParser, getStream} from './PacketTest';
import {EncodeClassInfo, ParseClassInfo} from '../../../../Parser/Packet/ClassInfo';
suite('ClassInfo', () => {
test('Parse classInfo', () => {
assertParser(ParseClassInfo, getStream([92, 1, 29]), {
packetType: 'classInfo',
number: 348,
create: true,
entries: []
}, 17);
});
test('Encode classInfo', () => {
assertEncoder(ParseClassInfo, EncodeClassInfo, {
packetType: 'classInfo',
number: 348,
create: true,
entries: []
}, 17);
});
});

View file

@ -2,10 +2,16 @@ import * as assert from 'assert';
import {BitStream} from 'bit-buffer';
import {Packet} from '../../../../Data/Packet';
import {Encoder, Parser} from '../../../../Parser/Packet/Parser';
import {isArray} from 'util';
export function getStream(data: string) {
const buffer = new Buffer(data + '\0remaining dummy data');
return new BitStream(buffer);
export function getStream(data: string | number[]) {
if (isArray(data)) {
const array = new Uint8Array(data as number[]);
return new BitStream(array.buffer);
} else {
const buffer = new Buffer(data + '\0remaining dummy data');
return new BitStream(buffer);
}
}
export function assertEncoder(parser: Parser, encoder: Encoder, data: any, length: number = 0) {