diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-06-29 03:34:41 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-06-29 03:34:41 +0800 |
| commit | ba15b7c06468cb6c52c8d2a53419fd83f9ebcb8b (patch) | |
| tree | cdaa1c71585d10dd73945cefe95f2c25f27924ed /src/test.rs | |
| parent | ff70307869a547b13850d1eec3f72e8ca3bca265 (diff) | |
refactor: promote project to workspace with macros sub-crate
Diffstat (limited to 'src/test.rs')
| -rw-r--r-- | src/test.rs | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/src/test.rs b/src/test.rs deleted file mode 100644 index ca7b357..0000000 --- a/src/test.rs +++ /dev/null @@ -1,187 +0,0 @@ -use std::collections::HashMap; - -use crate::template::Template; - -#[test] -fn basic_param() { - let mut tmpl = Template::from("Hello, <<<name>>>!".to_string()); - tmpl.insert_param("name".to_string(), "World".to_string()); - assert_eq!(tmpl.expand().unwrap(), "Hello, World!"); -} - -#[test] -fn multi_param() { - let mut tmpl = Template::from("<<<a>>> + <<<b>>> = <<<c>>>".to_string()); - tmpl.insert_param("a".to_string(), "1".to_string()); - tmpl.insert_param("b".to_string(), "2".to_string()); - tmpl.insert_param("c".to_string(), "3".to_string()); - assert_eq!(tmpl.expand().unwrap(), "1 + 2 = 3"); -} - -#[test] -fn impl_blocks() { - let mut tmpl = Template::from( - r#" ->>>>>>>>>> arms -@@@ >>> arms - "<<<crate_name>>>" => Some(<<<crate_name>>>::exec(data, params).await), -@@@ <<< -"# - .trim() - .to_string(), - ); - - let arms = tmpl.add_impl("arms".to_string()); - arms.push(HashMap::from([( - "crate_name".to_string(), - "my".to_string(), - )])); - arms.push(HashMap::from([( - "crate_name".to_string(), - "you".to_string(), - )])); - - let expanded = tmpl.expand().unwrap(); - assert!(expanded.contains(r#""my" => Some(my::exec(data, params).await)"#)); - assert!(expanded.contains(r#""you" => Some(you::exec(data, params).await)"#)); -} - -#[test] -fn display_block_global_hidden_by_default() { - let tmpl = Template::from( - r#" -visible line -??? >>> debug - hidden line -??? <<< -visible end -"# - .trim() - .to_string(), - ); - - let expanded = tmpl.expand().unwrap(); - assert!(expanded.contains("visible line")); - assert!(expanded.contains("visible end")); - assert!(!expanded.contains("hidden line")); -} - -#[test] -fn display_block_global_shown_via_param() { - let mut tmpl = Template::from( - r#" -visible line -??? >>> debug - shown line -??? <<< -visible end -"# - .trim() - .to_string(), - ); - - tmpl.insert_param("debug".to_string(), "".to_string()); - - let expanded = tmpl.expand().unwrap(); - assert!(expanded.contains("visible line")); - assert!(expanded.contains("visible end")); - assert!(expanded.contains("shown line")); -} - -#[test] -fn display_block_inside_impl_area_hidden_by_default() { - let mut tmpl = Template::from( - r#" ->>>>>>>>>> arms -@@@ >>> arms - <<<crate_name>>> => exec, -??? >>> extra - <<<crate_name>>> => metrics, -??? <<< -@@@ <<< -"# - .trim() - .to_string(), - ); - - let arms = tmpl.add_impl("arms".to_string()); - arms.push(HashMap::from([( - "crate_name".to_string(), - "my".to_string(), - )])); - - let expanded = tmpl.expand().unwrap(); - assert!(expanded.contains(r#"my => exec"#)); - assert!(!expanded.contains(r#"my => metrics"#)); -} - -#[test] -fn display_block_inside_impl_area_shown_by_global_param() { - let mut tmpl = Template::from( - r#" ->>>>>>>>>> arms -@@@ >>> arms - <<<crate_name>>> => exec, -??? >>> extra - <<<crate_name>>> => metrics, -??? <<< -@@@ <<< -"# - .trim() - .to_string(), - ); - - // Enable via global param — shows for ALL arms - tmpl.insert_param("extra".to_string(), "".to_string()); - - let arms = tmpl.add_impl("arms".to_string()); - arms.push(HashMap::from([( - "crate_name".to_string(), - "my".to_string(), - )])); - arms.push(HashMap::from([( - "crate_name".to_string(), - "you".to_string(), - )])); - - let expanded = tmpl.expand().unwrap(); - assert!(expanded.contains(r#"my => exec"#)); - assert!(expanded.contains(r#"my => metrics"#)); - assert!(expanded.contains(r#"you => exec"#)); - assert!(expanded.contains(r#"you => metrics"#)); -} - -#[test] -fn display_block_inside_impl_area_shown_by_arm_param() { - let mut tmpl = Template::from( - r#" ->>>>>>>>>> arms -@@@ >>> arms - <<<crate_name>>> => exec, -??? >>> extra - <<<crate_name>>> => metrics, -??? <<< -@@@ <<< -"# - .trim() - .to_string(), - ); - - let arms = tmpl.add_impl("arms".to_string()); - // Arm 1: no "extra" → hidden - arms.push(HashMap::from([( - "crate_name".to_string(), - "my".to_string(), - )])); - // Arm 2: has "extra" → shown for this arm only - arms.push(HashMap::from([ - ("crate_name".to_string(), "you".to_string()), - ("extra".to_string(), "".to_string()), - ])); - - let expanded = tmpl.expand().unwrap(); - assert!(expanded.contains(r#"my => exec"#)); - assert!(!expanded.contains(r#"my => metrics"#)); - assert!(expanded.contains(r#"you => exec"#)); - assert!(expanded.contains(r#"you => metrics"#)); -} |
