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

add encoder for gameEvent

This commit is contained in:
Robin Appelman 2017-09-04 00:42:11 +02:00
commit 2e43f5bb7f
9 changed files with 802 additions and 118 deletions

View file

@ -0,0 +1,45 @@
import {BitStream} from 'bit-buffer';
import {assertEncoder, assertParser, getStream} from './PacketTest';
import {EncodeClassInfo, ParseClassInfo} from '../../../../Parser/Packet/ClassInfo';
import {EncodeGameEvent, ParseGameEvent} from '../../../../Parser/Packet/GameEvent';
import {GameEventPacket} from '../../../../Data/Packet';
import {Match} from '../../../../Data/Match';
import {GameEventTypeIdMap} from '../../../../Data/GameEventTypes';
import {GameEventValueType} from '../../../../Data/GameEvent';
const data = [25, 240, 149, 0, 0];
const expected = {
packetType: 'gameEvent',
event: {
name: 'post_inventory_application',
values: {userid: 9}
}
};
const match = new Match();
match.eventDefinitions.set(190, {
id: 190,
name: 'post_inventory_application',
entries: [{
name: 'userid',
type: GameEventValueType.SHORT
}]
});
const parseEvent = (stream: BitStream) => {
return ParseGameEvent(stream, match);
};
const encodeEvent = (packet: GameEventPacket, stream: BitStream) => {
EncodeGameEvent(packet, stream, match);
};
suite('GameEvent', () => {
test('Parse gameEvent', () => {
assertParser(parseEvent, getStream(data), expected, 36);
});
test('Encode gameEvent', () => {
assertEncoder(parseEvent, encodeEvent, expected, 36);
});
});

View file

@ -43,12 +43,12 @@ const expected = {
substitute4: '',
};
suite('SayText2', () => {
test('Parse sayText2', () => {
suite('UserMessage', () => {
test('Parse userMessage', () => {
assertParser(ParseUserMessage, getStream(data), expected, 219);
});
test('Encode sayText2', () => {
test('Encode userMessage', () => {
assertEncoder(ParseUserMessage, EncodeUserMessage, expected, 219);
});
});