Add regression test for #1909 (long filename rename not reported as unused)

This commit is contained in:
Brett Schwartz 2025-12-24 11:14:28 -07:00
parent 8f2144534b
commit 1abad38daa

View file

@ -552,6 +552,7 @@ pub(crate) mod test {
use super::*;
use crate::collection::CollectionBuilder;
use crate::tests::NoteAdder;
fn common_setup() -> Result<(TempDir, MediaManager, Collection)> {
let dir = tempdir()?;
@ -869,4 +870,33 @@ Unused: unused.jpg
Ok(())
}
/// Regression test for https://github.com/ankitects/anki/issues/1909
#[test]
fn long_filename_rename_not_reported_as_unused() -> Result<()> {
let (_dir, mgr, mut col) = common_setup()?;
// 65 Greek α characters (2 bytes each) + ".mp3" = 134 bytes
let long_filename = format!("{}.mp3", "α".repeat(65));
assert!(long_filename.len() > 120);
NoteAdder::basic(&mut col)
.fields(&["test", &format!("[sound:{}]", long_filename)])
.add(&mut col);
write_file(mgr.media_folder.join(&long_filename), "audio data")?;
let output = {
let mut checker = col.media_checker()?;
checker.check()?
};
assert!(output.renamed.contains_key(&long_filename));
let new_filename = output.renamed.get(&long_filename).unwrap();
assert!(new_filename.len() <= 120);
assert!(!output.unused.contains(new_filename));
assert!(!output.missing.contains(new_filename));
Ok(())
}
}