Skip to content

Commit

Permalink
tests: add tests for linux unicode
Browse files Browse the repository at this point in the history
  • Loading branch information
muja committed Sep 6, 2024
1 parent 8ce991c commit 5bebae3
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions tests/utf8.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,33 @@ fn unicode_file() {
let mut entries = Archive::new("data/unicodefilename❤️.rar").open_for_listing().unwrap();
assert_eq!(entries.next().unwrap().unwrap().filename, PathBuf::from(".gitignore"));
}

#[test]
fn unicode_extract_to() {
let parent = tempfile::tempdir().unwrap();
let archive = Archive::new("data/version.rar").open_for_processing().unwrap();
let archive = archive.read_header().unwrap().unwrap();
let unicode_file = parent.path().join("unicodefilename❤️.txt");
archive.extract_to(&unicode_file).expect("extraction failed");
for entry in std::fs::read_dir(&parent).unwrap() {
eprintln!("ENTRY = {:?}", entry);
}
assert_eq!("unrar-0.4.0", std::fs::read_to_string(unicode_file).expect("read failed"));
panic!("success")
}

#[test]
fn unicode_extract_with_base() {
let parent = tempfile::tempdir().unwrap();
let archive = Archive::new("data/version.rar").open_for_processing().unwrap();
let archive = archive.read_header().unwrap().unwrap();
let unicode_dir = parent.path().join("unicodefilename❤️");
std::fs::create_dir(&unicode_dir).expect("create dir");
archive.extract_with_base(&unicode_dir).expect("extraction failed");
for entry in std::fs::read_dir(&unicode_dir).unwrap() {
eprintln!("ENTRY = {:?}", entry);
}
assert_eq!("unrar-0.4.0", std::fs::read_to_string(unicode_dir.join("VERSION")).expect("read failed"));
panic!("success")
}

0 comments on commit 5bebae3

Please sign in to comment.