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

encoder for gameEventList

This commit is contained in:
Robin Appelman 2017-09-01 22:37:47 +02:00
commit 936ba2263f
6 changed files with 5551 additions and 25 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,89 @@
import {BitStream} from 'bit-buffer';
import {assertEncoder, assertParser, getStream} from './PacketTest';
import {readFileSync} from 'fs';
import {EncodeGameEventList, ParseGameEventList} from '../../../../Parser/Packet/GameEventList';
const data = JSON.parse(readFileSync(__dirname + '/../../../data/gameEventListData.json', 'utf8'));
const expected = JSON.parse(readFileSync(__dirname + '/../../../data/gameEventList.json', 'utf8'));
const eventList = {
'packetType': 'gameEventList',
'eventList': {
'0': {
'id': 0,
'name': 'server_spawn',
'entries': [
{
'type': 1,
'name': 'hostname'
},
{
'type': 1,
'name': 'address'
},
{
'type': 3,
'name': 'ip'
},
{
'type': 4,
'name': 'port'
},
{
'type': 1,
'name': 'game'
},
{
'type': 1,
'name': 'mapname'
},
{
'type': 3,
'name': 'maxplayers'
},
{
'type': 1,
'name': 'os'
},
{
'type': 6,
'name': 'dedicated'
},
{
'type': 6,
'name': 'password'
}
]
},
'1': {
'id': 1,
'name': 'server_changelevel_failed',
'entries': [
{
'type': 1,
'name': 'levelname'
}
]
},
'2': {
'id': 2,
'name': 'server_shutdown',
'entries': [
{
'type': 1,
'name': 'reason'
}
]
}
}
};
suite('GameEventList', () => {
test('Parse gameEventList', () => {
assertParser(ParseGameEventList, getStream(data), expected, 122783);
});
test('Encode gameEventList', () => {
assertEncoder(ParseGameEventList, EncodeGameEventList, eventList, 1245);
});
});