Codex Handbook
core/src/tools/handlers/apply_patch_spec_tests.rs 36 lines
use super::*;use pretty_assertions::assert_eq;#[test]fn create_apply_patch_freeform_tool_matches_expected_spec() {    assert_eq!(        create_apply_patch_freeform_tool(/*include_environment_id*/ false),        ToolSpec::Freeform(FreeformTool {            name: "apply_patch".to_string(),            description:                "Use the `apply_patch` tool to edit files. This is a FREEFORM tool, so do not wrap the patch in JSON."                    .to_string(),            format: FreeformToolFormat {                r#type: "grammar".to_string(),                syntax: "lark".to_string(),                definition: APPLY_PATCH_LARK_GRAMMAR.to_string(),            },        })    );}#[test]fn create_apply_patch_freeform_tool_includes_environment_id_when_requested() {    let ToolSpec::Freeform(tool) =        create_apply_patch_freeform_tool(/*include_environment_id*/ true)    else {        panic!("expected freeform tool");    };    assert!(tool.format.definition.contains("environment_id?"));    assert!(        tool.format            .definition            .contains("\"*** Environment ID: \" filename LF")    );}