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

unit tests for parser generator

This commit is contained in:
Robin Appelman 2017-08-12 02:54:47 +02:00
commit d3b893223b
4 changed files with 100 additions and 6 deletions

View file

@ -1,5 +1,5 @@
import {Packet} from '../../Data/Packet';
import {PacketHandler, Parser} from './Parser';
import {PacketHandler, voidEncoder} from './Parser';
export function make(name: string, definition: string): PacketHandler {
const parts = definition.split('}');
@ -23,26 +23,24 @@ export function make(name: string, definition: string): PacketHandler {
}
return result as Packet;
},
encoder: (packet, match, stream) => {
}
encoder: voidEncoder
};
}
function readItem(stream, description, data) {
let length;
if (description[0] === 'b') {
return stream.readBoolean();
} else if (description[0] === 's') {
if (description.length === 1) {
return stream.readUTF8String();
} else {
length = parseInt(description.substr(1), 10);
const length = parseInt(description.substr(1), 10);
return stream.readASCIIString(length);
}
} else if (description === 'f32') {
return stream.readFloat32();
} else if (description[0] === 'u') {
length = parseInt(description.substr(1), 10);
const length = parseInt(description.substr(1), 10);
return stream.readBits(length);
} else if (description[0] === '$') {
const variable = description.substr(1);