All checks were successful
Build and test / Tests (pull_request) Successful in 1m12s
Checking yaml / Run yamllint (pull_request) Successful in 4s
Build and test / Build AMD64 (pull_request) Successful in 1m3s
Build and test / Generate Documentation (pull_request) Successful in 58s
Checking Renovate configuration / validate (pull_request) Successful in 1m50s
Build and test / Clippy (pull_request) Successful in 1m2s
23 lines
798 B
Rust
23 lines
798 B
Rust
use std::fs::File;
|
|
use std::io::Write;
|
|
|
|
use cbz2pdf::formats::cbr::CbrReader;
|
|
use cbz2pdf::formats::FormatReader;
|
|
|
|
// We cannot reliably create a RAR archive in tests (tools cannot create .rar),
|
|
// Instead, verify that the reader fails gracefully (returns an error) when given an invalid .cbr
|
|
// file.
|
|
#[test]
|
|
fn cbr_reader_errors_on_invalid_archive() {
|
|
let temp_dir = tempfile::tempdir().expect("create temp dir");
|
|
let cbr_path = temp_dir.path().join("invalid.cbr");
|
|
|
|
// Write some junk that is definitely not a RAR archive
|
|
let mut f = File::create(&cbr_path).expect("create cbr");
|
|
f.write_all(b"this is not a rar archive").unwrap();
|
|
|
|
let reader = CbrReader;
|
|
let res = reader.read(&cbr_path);
|
|
|
|
assert!(res.is_err(), "CbrReader should error on invalid archives");
|
|
}
|