From c23c590330af83afb6e146bcd9b0a274b3689d22 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Mon, 17 Aug 2026 03:27:46 +0800 Subject: refactor!: remove Node type and simplify dispatcher macro syntax The `dispatcher!` macro no longer requires a `CMD*` dispatcher type argument; the dispatcher struct is now generated internally as `__Dispatcher{Pascal}`. The `Node` type, `node!` macro, and `Dispatcher::node()` / `clone_dispatcher()` methods are removed. --- mingling_core/tests/test-all/tests/integration.rs | 15 ------------ .../tests/test-basic/tests/integration.rs | 28 ---------------------- .../tests/test-dispatch-tree/tests/integration.rs | 28 ---------------------- mingling_core/tests/test-repl/tests/integration.rs | 15 ------------ 4 files changed, 86 deletions(-) (limited to 'mingling_core/tests') diff --git a/mingling_core/tests/test-all/tests/integration.rs b/mingling_core/tests/test-all/tests/integration.rs index 936ca52..29cc910 100644 --- a/mingling_core/tests/test-all/tests/integration.rs +++ b/mingling_core/tests/test-all/tests/integration.rs @@ -1,6 +1,5 @@ use mingling::Flag; use mingling::NextProcess; -use mingling::Node; use mingling::Program; use mingling::RenderResult; use mingling::StringVec; @@ -44,20 +43,6 @@ fn test_res_repl_default() { assert!(!res.exit); } -// Node - -#[test] -fn test_node_creation() { - let node = Node::from("a.b.c"); - assert_eq!(node.to_string(), "a.b.c"); -} - -#[test] -fn test_node_kebab() { - let node = Node::from("HelloWorld.FooBar"); - assert_eq!(node.to_string(), "hello-world.foo-bar"); -} - // Flag #[test] diff --git a/mingling_core/tests/test-basic/tests/integration.rs b/mingling_core/tests/test-basic/tests/integration.rs index e51992c..767ef00 100644 --- a/mingling_core/tests/test-basic/tests/integration.rs +++ b/mingling_core/tests/test-basic/tests/integration.rs @@ -1,36 +1,8 @@ use mingling::Flag; use mingling::NextProcess; -use mingling::Node; use mingling::RenderResult; use mingling::StringVec; -#[test] -fn test_node_from_str() { - let node = Node::from("a.b.c"); - assert_eq!(node.to_string(), "a.b.c"); -} - -#[test] -fn test_node_kebab_case() { - let node = Node::from("HelloWorld.FooBar"); - assert_eq!(node.to_string(), "hello-world.foo-bar"); -} - -#[test] -fn test_node_join() { - let node = Node::from("base").join("sub"); - assert_eq!(node.to_string(), "base.sub"); -} - -#[test] -fn test_node_eq() { - let a = Node::from("x.y"); - let b = Node::from("x.y"); - let c = Node::from("x.z"); - assert_eq!(a, b); - assert_ne!(a, c); -} - #[test] fn test_flag_from_static_str() { let flag = Flag::from("-h"); diff --git a/mingling_core/tests/test-dispatch-tree/tests/integration.rs b/mingling_core/tests/test-dispatch-tree/tests/integration.rs index e51992c..767ef00 100644 --- a/mingling_core/tests/test-dispatch-tree/tests/integration.rs +++ b/mingling_core/tests/test-dispatch-tree/tests/integration.rs @@ -1,36 +1,8 @@ use mingling::Flag; use mingling::NextProcess; -use mingling::Node; use mingling::RenderResult; use mingling::StringVec; -#[test] -fn test_node_from_str() { - let node = Node::from("a.b.c"); - assert_eq!(node.to_string(), "a.b.c"); -} - -#[test] -fn test_node_kebab_case() { - let node = Node::from("HelloWorld.FooBar"); - assert_eq!(node.to_string(), "hello-world.foo-bar"); -} - -#[test] -fn test_node_join() { - let node = Node::from("base").join("sub"); - assert_eq!(node.to_string(), "base.sub"); -} - -#[test] -fn test_node_eq() { - let a = Node::from("x.y"); - let b = Node::from("x.y"); - let c = Node::from("x.z"); - assert_eq!(a, b); - assert_ne!(a, c); -} - #[test] fn test_flag_from_static_str() { let flag = Flag::from("-h"); diff --git a/mingling_core/tests/test-repl/tests/integration.rs b/mingling_core/tests/test-repl/tests/integration.rs index 4de0e8f..3e1ca7c 100644 --- a/mingling_core/tests/test-repl/tests/integration.rs +++ b/mingling_core/tests/test-repl/tests/integration.rs @@ -1,5 +1,4 @@ use mingling::Flag; -use mingling::Node; use mingling::RenderResult; use mingling::core_res::ResREPL; @@ -18,20 +17,6 @@ fn test_res_repl_exit_true() { assert!(res.exit); } -// Node tests - -#[test] -fn test_node_from_str() { - let node = Node::from("a.b.c"); - assert_eq!(node.to_string(), "a.b.c"); -} - -#[test] -fn test_node_kebab_case() { - let node = Node::from("HelloWorld.FooBar"); - assert_eq!(node.to_string(), "hello-world.foo-bar"); -} - // Flag tests #[test] -- cgit