mirror of
https://github.com/demostf/demo.js
synced 2026-06-04 09:04:13 +02:00
Add tests for header parsing
This commit is contained in:
parent
f641610811
commit
3ab89caa74
4 changed files with 439 additions and 28 deletions
403
src/tests/unit/Parser/HeaderTest.ts
Normal file
403
src/tests/unit/Parser/HeaderTest.ts
Normal file
|
|
@ -0,0 +1,403 @@
|
|||
import {BitStream} from 'bit-buffer';
|
||||
import {assertEncoder, assertParser, assertReEncode, getStream} from './Packet/PacketTest';
|
||||
import {encodeHeader, parseHeader} from '../../../Parser/Header';
|
||||
|
||||
const data = [
|
||||
72, 76, 50, 68,
|
||||
69, 77, 79, 0,
|
||||
3, 0, 0, 0,
|
||||
24, 0, 0, 0,
|
||||
70, 97, 107, 107,
|
||||
101, 108, 66, 114,
|
||||
105, 103, 97, 100,
|
||||
101, 32, 35, 49,
|
||||
32, 40, 35, 55,
|
||||
49, 50, 49, 51,
|
||||
51, 41, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
83, 111, 117, 114,
|
||||
99, 101, 84, 86,
|
||||
32, 68, 101, 109,
|
||||
111, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
99, 112, 95, 112,
|
||||
114, 111, 108, 97,
|
||||
110, 100, 115, 95,
|
||||
98, 50, 99, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
116, 102, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
41, 204, 0, 68,
|
||||
42, 134, 0, 0,
|
||||
30, 134, 0, 0,
|
||||
17, 88, 12, 0,
|
||||
1, 0, 0, 0,
|
||||
128, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 116, 32, 104,
|
||||
101, 116, 32, 104,
|
||||
101, 131, 180, 1,
|
||||
0, 8, 6, 128,
|
||||
0, 0, 0, 192,
|
||||
255, 255, 255, 255,
|
||||
92, 1, 38, 49,
|
||||
4, 141, 223, 55,
|
||||
168, 139, 18, 159,
|
||||
223, 11, 239, 120,
|
||||
214, 111, 0, 33,
|
||||
143, 194, 117, 60,
|
||||
108, 116, 102, 0,
|
||||
99, 112, 95, 112,
|
||||
114, 111, 108, 97,
|
||||
110, 100, 115, 95,
|
||||
98, 50, 99, 0,
|
||||
115, 107, 121, 95,
|
||||
98, 97, 100, 108,
|
||||
97, 110, 100, 115,
|
||||
95, 48, 49, 0,
|
||||
70, 97, 107, 107,
|
||||
101, 108, 66, 114,
|
||||
105, 103, 97, 100,
|
||||
101, 32, 35, 49,
|
||||
32, 83, 84, 86,
|
||||
32, 40, 112, 111,
|
||||
114, 116, 32, 50,
|
||||
55, 48, 50, 48,
|
||||
41, 0, 6, 123,
|
||||
80, 0, 0, 0,
|
||||
0, 0, 0, 134,
|
||||
236, 237, 206, 141,
|
||||
237, 45, 140, 44,
|
||||
76, 140, 173, 108,
|
||||
14, 0, 0, 68,
|
||||
0, 0, 31, 96,
|
||||
109, 97, 112, 115,
|
||||
92, 99, 112, 95,
|
||||
112, 114, 111, 108,
|
||||
97, 110, 100, 115,
|
||||
95, 98, 50, 99,
|
||||
46, 98, 115, 112,
|
||||
0, 54, 247, 86,
|
||||
231, 70, 246, 210,
|
||||
150, 54, 55, 246,
|
||||
18, 54, 134, 150,
|
||||
86, 102, 87, 214,
|
||||
86, 230, 70, 247,
|
||||
85, 22, 38, 231,
|
||||
86, 70, 230, 114,
|
||||
23, 102, 7, 128,
|
||||
105, 123, 35, 43,
|
||||
99, 131, 147, 43,
|
||||
27, 11, 27, 67,
|
||||
43, 3, 0, 128,
|
||||
168, 30, 248, 188,
|
||||
5, 3, 64, 42,
|
||||
74, 1, 0, 28,
|
||||
175, 0, 0, 76,
|
||||
57, 5, 65, 41,
|
||||
150, 6, 192, 199,
|
||||
14, 32, 107, 11,
|
||||
131, 155, 123, 25,
|
||||
131, 251, 130, 147,
|
||||
123, 99, 11, 115,
|
||||
35, 155, 251, 18,
|
||||
147, 25, 115, 17
|
||||
];
|
||||
|
||||
|
||||
suite('Header', () => {
|
||||
test('Parse header', () => {
|
||||
assertParser(parseHeader, getStream(data), {
|
||||
'type': 'HL2DEMO',
|
||||
'version': 3,
|
||||
'protocol': 24,
|
||||
'server': 'FakkelBrigade #1 (#712133)',
|
||||
'nick': 'SourceTV Demo',
|
||||
'map': 'cp_prolands_b2c',
|
||||
'game': 'tf',
|
||||
'duration': 515.1900024414062,
|
||||
'ticks': 34346,
|
||||
'frames': 34334,
|
||||
'sigon': 808977
|
||||
}
|
||||
, 8576);
|
||||
});
|
||||
|
||||
test('Encode header', () => {
|
||||
assertEncoder(parseHeader, encodeHeader, {
|
||||
'type': 'HL2DEMO',
|
||||
'version': 3,
|
||||
'protocol': 24,
|
||||
'server': 'FakkelBrigade #1 (#712133)',
|
||||
'nick': 'SourceTV Demo',
|
||||
'map': 'cp_prolands_b2c',
|
||||
'game': 'tf',
|
||||
'duration': 515.1900024414062,
|
||||
'ticks': 34346,
|
||||
'frames': 34334,
|
||||
'sigon': 808977
|
||||
}
|
||||
, 8576);
|
||||
});
|
||||
|
||||
test('Re-encode header', () => {
|
||||
assertReEncode(parseHeader, encodeHeader, getStream(data));
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue