mirror of
https://github.com/redstrate/Physis.git
synced 2025-04-24 05:27:45 +00:00
Add invalid data test for EXD
This commit is contained in:
parent
3b6c4e83df
commit
d9bf25cb0e
2 changed files with 37 additions and 4 deletions
33
src/exd.rs
33
src/exd.rs
|
@ -211,3 +211,36 @@ impl EXD {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use std::fs::read;
|
||||
use std::path::PathBuf;
|
||||
use crate::exh::EXHHeader;
|
||||
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_invalid() {
|
||||
let mut d = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
|
||||
d.push("resources/tests");
|
||||
d.push("random");
|
||||
|
||||
let exh = EXH {
|
||||
header: EXHHeader {
|
||||
version: 0,
|
||||
data_offset: 0,
|
||||
column_count: 0,
|
||||
page_count: 0,
|
||||
language_count: 0,
|
||||
row_count: 0,
|
||||
},
|
||||
column_definitions: vec![],
|
||||
pages: vec![],
|
||||
languages: vec![],
|
||||
};
|
||||
|
||||
// Feeding it invalid data should not panic
|
||||
EXD::from_existing(&exh, &read(d).unwrap());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,12 +14,12 @@ use crate::ByteSpan;
|
|||
#[brw(big)]
|
||||
#[allow(dead_code)]
|
||||
pub struct EXHHeader {
|
||||
version: u16,
|
||||
pub(crate) version: u16,
|
||||
|
||||
pub data_offset: u16,
|
||||
column_count: u16,
|
||||
page_count: u16,
|
||||
language_count: u16,
|
||||
pub(crate) column_count: u16,
|
||||
pub(crate) page_count: u16,
|
||||
pub(crate) language_count: u16,
|
||||
|
||||
#[br(pad_before = 6)]
|
||||
#[br(pad_after = 8)]
|
||||
|
|
Loading…
Add table
Reference in a new issue