Download codex-rs/apply-patch/tests/suite/cli.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 2.26 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/apply-patch/tests/suite/cli.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/apply-patch/tests/suite/cli.rs
-
curl -L -o cli.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/apply-patch/tests/suite/cli.rs
2.26 kB
| use assert_cmd::Command; | |
| use std::fs; | |
| use tempfile::tempdir; | |
| fn apply_patch_command() -> anyhow::Result<Command> { | |
| Ok(Command::new(codex_utils_cargo_bin::cargo_bin( | |
| "apply_patch", | |
| )?)) | |
| } | |
| fn test_apply_patch_cli_add_and_update() -> anyhow::Result<()> { | |
| let tmp = tempdir()?; | |
| let file = "cli_test.txt"; | |
| let absolute_path = tmp.path().join(file); | |
| // 1) Add a file | |
| let add_patch = format!( | |
| r#"*** Begin Patch | |
| *** Add File: {file} | |
| +hello | |
| *** End Patch"# | |
| ); | |
| apply_patch_command()? | |
| .arg(add_patch) | |
| .current_dir(tmp.path()) | |
| .assert() | |
| .success() | |
| .stdout(format!("Success. Updated the following files:\nA {file}\n")); | |
| assert_eq!(fs::read_to_string(&absolute_path)?, "hello\n"); | |
| // 2) Update the file | |
| let update_patch = format!( | |
| r#"*** Begin Patch | |
| *** Update File: {file} | |
| @@ | |
| -hello | |
| +world | |
| *** End Patch"# | |
| ); | |
| apply_patch_command()? | |
| .arg(update_patch) | |
| .current_dir(tmp.path()) | |
| .assert() | |
| .success() | |
| .stdout(format!("Success. Updated the following files:\nM {file}\n")); | |
| assert_eq!(fs::read_to_string(&absolute_path)?, "world\n"); | |
| Ok(()) | |
| } | |
| fn test_apply_patch_cli_stdin_add_and_update() -> anyhow::Result<()> { | |
| let tmp = tempdir()?; | |
| let file = "cli_test_stdin.txt"; | |
| let absolute_path = tmp.path().join(file); | |
| // 1) Add a file via stdin | |
| let add_patch = format!( | |
| r#"*** Begin Patch | |
| *** Add File: {file} | |
| +hello | |
| *** End Patch"# | |
| ); | |
| apply_patch_command()? | |
| .current_dir(tmp.path()) | |
| .write_stdin(add_patch) | |
| .assert() | |
| .success() | |
| .stdout(format!("Success. Updated the following files:\nA {file}\n")); | |
| assert_eq!(fs::read_to_string(&absolute_path)?, "hello\n"); | |
| // 2) Update the file via stdin | |
| let update_patch = format!( | |
| r#"*** Begin Patch | |
| *** Update File: {file} | |
| @@ | |
| -hello | |
| +world | |
| *** End Patch"# | |
| ); | |
| apply_patch_command()? | |
| .current_dir(tmp.path()) | |
| .write_stdin(update_patch) | |
| .assert() | |
| .success() | |
| .stdout(format!("Success. Updated the following files:\nM {file}\n")); | |
| assert_eq!(fs::read_to_string(&absolute_path)?, "world\n"); | |
| Ok(()) | |
| } | |