mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-01 05:58:12 -06:00
M6: Merge data files into spreadsheet (FDF, XFDF, filled PDF forms → CSV); form_merge_data tool
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
9321864393
commit
6ff0bf8f64
@@ -101,3 +101,17 @@ fn document_scripts_and_preferences() {
|
||||
fresh.restore(&saved);
|
||||
assert!(!fresh.session.javascript(), "the preference is remembered");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn merge_data_files_into_a_spreadsheet() {
|
||||
let dir = std::env::temp_dir().join(format!("printcraft-merge-ui-{}", std::process::id()));
|
||||
std::fs::create_dir_all(&dir).unwrap();
|
||||
let out = dir.join("report.csv");
|
||||
let mut app = PrintCraftApp::new();
|
||||
app.save_override = Some(out.to_string_lossy().into_owned());
|
||||
app.merge_data_files(vec![("form.pdf".into(), form())]);
|
||||
assert_eq!(std::fs::read_to_string(&out).unwrap(), "greeting\n\n");
|
||||
assert!(app.toast.clone().unwrap().0.starts_with("Merged 1 file"));
|
||||
app.merge_data_files(vec![("x.fdf".into(), b"junk".to_vec())]);
|
||||
assert!(app.toast.clone().unwrap().0.starts_with("x.fdf:"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user