mirror of
https://codeberg.org/demostf/parser.git
synced 2026-06-03 18:24:05 +02:00
more tests
This commit is contained in:
parent
dfd27b87ad
commit
57b207598f
4 changed files with 32 additions and 7 deletions
BIN
test_data/messages/packet_entities_pov2.bin
Normal file
BIN
test_data/messages/packet_entities_pov2.bin
Normal file
Binary file not shown.
BIN
test_data/messages/packet_entities_pov3.bin
Normal file
BIN
test_data/messages/packet_entities_pov3.bin
Normal file
Binary file not shown.
BIN
test_data/messages/packet_entities_pov4.bin
Normal file
BIN
test_data/messages/packet_entities_pov4.bin
Normal file
Binary file not shown.
|
|
@ -6,15 +6,28 @@ use tf_demo_parser::demo::packet::Packet;
|
||||||
use tf_demo_parser::demo::parser::{DemoHandler, Encode, NullHandler};
|
use tf_demo_parser::demo::parser::{DemoHandler, Encode, NullHandler};
|
||||||
use tf_demo_parser::{MessageType, Parse};
|
use tf_demo_parser::{MessageType, Parse};
|
||||||
|
|
||||||
#[test_case("game_event_list.bin", MessageType::GameEventList, &[]; "game_event_list")]
|
#[test_case("game_event_list.bin", MessageType::GameEventList, &[], &[]; "game_event_list")]
|
||||||
#[test_case("packet_entities.bin", MessageType::PacketEntities, &["setup_data_tables.bin", "setup_string_tables.bin"]; "packet_entities")]
|
#[test_case("packet_entities.bin", MessageType::PacketEntities, &["setup_data_tables.bin", "setup_string_tables.bin"], &[]; "packet_entities")]
|
||||||
#[test_case("packet_entities_pov1.bin", MessageType::PacketEntities, &["setup_data_tables_pov.bin", "setup_string_tables_pov.bin"]; "packet_entities_pov1")]
|
#[test_case("packet_entities_pov1.bin", MessageType::PacketEntities, &["setup_data_tables_pov.bin", "setup_string_tables_pov.bin"], &[]; "packet_entities_pov1")]
|
||||||
fn message_reencode(input_file: &str, ty: MessageType, setup_files: &[&str]) {
|
#[test_case("packet_entities_pov2.bin", MessageType::PacketEntities, &["setup_data_tables_pov.bin", "setup_string_tables_pov.bin"], &["packet_entities_pov1.bin"]; "packet_entities_pov2")]
|
||||||
|
#[test_case("packet_entities_pov3.bin", MessageType::PacketEntities,
|
||||||
|
&["setup_data_tables_pov.bin", "setup_string_tables_pov.bin"],
|
||||||
|
&["packet_entities_pov1.bin", "packet_entities_pov2.bin"];
|
||||||
|
"packet_entities_pov3")]
|
||||||
|
fn message_reencode(
|
||||||
|
input_file: &str,
|
||||||
|
ty: MessageType,
|
||||||
|
setup_packet_files: &[&str],
|
||||||
|
setup_message_files: &[&str],
|
||||||
|
) {
|
||||||
let data = fs::read(format!("test_data/messages/{}", input_file)).unwrap();
|
let data = fs::read(format!("test_data/messages/{}", input_file)).unwrap();
|
||||||
|
|
||||||
let mut handler = DemoHandler::parse_all_with_analyser(NullHandler);
|
let mut handler = DemoHandler::parse_all_with_analyser(NullHandler);
|
||||||
for file in setup_files {
|
for file in setup_packet_files {
|
||||||
setup(&mut handler, &format!("test_data/messages/{}", file));
|
setup_packet(&mut handler, &format!("test_data/messages/{}", file));
|
||||||
|
}
|
||||||
|
for file in setup_message_files {
|
||||||
|
setup_message(&mut handler, &format!("test_data/messages/{}", file));
|
||||||
}
|
}
|
||||||
|
|
||||||
let state = &handler.state_handler;
|
let state = &handler.state_handler;
|
||||||
|
|
@ -44,9 +57,21 @@ fn message_reencode(input_file: &str, ty: MessageType, setup_files: &[&str]) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn setup(handler: &mut DemoHandler<NullHandler>, input: &str) {
|
fn setup_packet(handler: &mut DemoHandler<NullHandler>, input: &str) {
|
||||||
let data = fs::read(input).unwrap();
|
let data = fs::read(input).unwrap();
|
||||||
let mut stream = BitReadStream::new(BitReadBuffer::new_owned(data, LittleEndian));
|
let mut stream = BitReadStream::new(BitReadBuffer::new_owned(data, LittleEndian));
|
||||||
let packet = Packet::parse(&mut stream, &handler.state_handler).unwrap();
|
let packet = Packet::parse(&mut stream, &handler.state_handler).unwrap();
|
||||||
handler.handle_packet(packet).unwrap();
|
handler.handle_packet(packet).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn setup_message(handler: &mut DemoHandler<NullHandler>, input: &str) {
|
||||||
|
let data = fs::read(input).unwrap();
|
||||||
|
let mut stream = BitReadStream::new(BitReadBuffer::new_owned(data, LittleEndian));
|
||||||
|
let message = Message::from_type(
|
||||||
|
MessageType::PacketEntities,
|
||||||
|
&mut stream,
|
||||||
|
&handler.state_handler,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
handler.handle_message(message);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue