aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-07-15 20:30:48 +0800
committer魏曹先生 <1992414357@qq.com>2026-07-15 20:30:48 +0800
commit2c66376a50d767e6e2e0bc5233707a39f124607b (patch)
treed0fb270a36cf3498771b0721acb3ae356b71d2da
parent75f420f8d50910888822c412724ff80fbce32ac5 (diff)
test: add integration test crate for mingling_picker
-rw-r--r--mingling_picker/test/Cargo.lock68
-rw-r--r--mingling_picker/test/Cargo.toml9
-rw-r--r--mingling_picker/test/src/lib.rs8
-rw-r--r--mingling_picker/test/src/test.rs11
4 files changed, 96 insertions, 0 deletions
diff --git a/mingling_picker/test/Cargo.lock b/mingling_picker/test/Cargo.lock
new file mode 100644
index 0000000..e227592
--- /dev/null
+++ b/mingling_picker/test/Cargo.lock
@@ -0,0 +1,68 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "just_fmt"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5454cda0d57db59778608d7a47bff5b16c6705598265869fb052b657f66cf05e"
+
+[[package]]
+name = "mingling_picker"
+version = "0.3.0"
+dependencies = [
+ "just_fmt",
+ "mingling_picker_macros",
+]
+
+[[package]]
+name = "mingling_picker_macros"
+version = "0.3.0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.106"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.46"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.119"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "test-mingling-picker"
+version = "0.1.0"
+dependencies = [
+ "mingling_picker",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
diff --git a/mingling_picker/test/Cargo.toml b/mingling_picker/test/Cargo.toml
new file mode 100644
index 0000000..127546c
--- /dev/null
+++ b/mingling_picker/test/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name = "test-mingling-picker"
+version = "0.1.0"
+edition = "2024"
+
+[workspace]
+
+[dependencies]
+mingling_picker = { path = "../" }
diff --git a/mingling_picker/test/src/lib.rs b/mingling_picker/test/src/lib.rs
new file mode 100644
index 0000000..9bc0560
--- /dev/null
+++ b/mingling_picker/test/src/lib.rs
@@ -0,0 +1,8 @@
+// Using `assert_eq!(x, true)` is clearer than `assert!(x)` for expressing expected values
+//
+// BECAUSE `assert!` only checks if the boolean value is true,
+// while `assert_eq!` explicitly shows the expected value
+#![allow(clippy::bool_assert_comparison)]
+
+#[cfg(test)]
+mod test;
diff --git a/mingling_picker/test/src/test.rs b/mingling_picker/test/src/test.rs
new file mode 100644
index 0000000..20b07ab
--- /dev/null
+++ b/mingling_picker/test/src/test.rs
@@ -0,0 +1,11 @@
+use mingling_picker::{IntoPicker, macros::flag};
+
+#[test]
+fn test_picker_pipeline() {
+ let args = vec!["--flag"];
+ let parsed = args
+ .with_route::<String>()
+ .pick(&flag![flag: bool])
+ .unwrap();
+ assert_eq!(parsed, true);
+}