mod common;
use assert_cmd::prelude::*;
use common::dircat_cmd;
use std::fs;
use tempfile::tempdir;
#[test]
fn test_output_to_file() -> Result<(), Box<dyn std::error::Error>> {
let temp = tempdir()?;
let src_path = temp.path().join("src");
fs::create_dir(&src_path)?;
let content_a = "Content A";
fs::write(src_path.join("a.txt"), content_a)?;
let output_path = temp.path().join("output.md");
dircat_cmd()
.arg(src_path.to_str().unwrap()) .arg("-o")
.arg(output_path.to_str().unwrap())
.current_dir(temp.path()) .assert()
.success()
.stdout("");
let output_content = fs::read_to_string(&output_path)?;
assert!(output_content.contains("## File: a.txt")); assert!(output_content.contains("```txt")); assert!(output_content.contains(content_a)); assert!(output_content.contains("```"));
temp.close()?;
Ok(())
}