diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/example-exit-code/src/main.rs | 7 | ||||
| -rw-r--r-- | examples/test-example-async.toml | 54 |
2 files changed, 58 insertions, 3 deletions
diff --git a/examples/example-exit-code/src/main.rs b/examples/example-exit-code/src/main.rs index f62ad22..1fe5424 100644 --- a/examples/example-exit-code/src/main.rs +++ b/examples/example-exit-code/src/main.rs @@ -13,7 +13,7 @@ use mingling::{ macros::{chain, dispatcher, gen_program, pack, r_println, renderer}, - res::update_exit_code, + res::{exit_code, update_exit_code}, setup::ExitCodeSetup, }; @@ -21,7 +21,7 @@ fn main() { let mut program = ThisProgram::new(); program.with_dispatcher(ErrorCommand); program.with_setup(ExitCodeSetup::<ThisProgram>::default()); - program.exec(); + program.exec_and_exit(); } dispatcher!("error", ErrorCommand => ErrorEntry); @@ -35,7 +35,8 @@ fn handle_error_entry(_prev: ErrorEntry) -> NextProcess { #[renderer] fn render_error(_prev: ResultError) { - r_println!("Error!"); + let exit_code = exit_code::<ThisProgram>(); + r_println!("Exit with exit code: {}", exit_code); } gen_program!(); diff --git a/examples/test-example-async.toml b/examples/test-example-async.toml new file mode 100644 index 0000000..a63f566 --- /dev/null +++ b/examples/test-example-async.toml @@ -0,0 +1,54 @@ +[[test.example-async]] +command = "hello World" +expect.exit-code = 0 +expect.result = "Hello, World!" + +[[test.example-basic]] +command = "hello World" +expect.exit-code = 0 +expect.result = "Hello, World!" + +[[test.example-exit-code]] +command = "error" +expect.exit-code = 1 +expect.result = "Exit with exit code: 1" + +[[test.example-general-renderer]] +command = "render Bob 22" +expect.exit-code = 0 +expect.result = "Bob is 22 years old" + +[[test.example-general-renderer]] +command = "render Bob 22 --json" +expect.exit-code = 0 +expect.result = "{\"member_name\":\"Bob\",\"member_age\":22}" + +[[test.example-general-renderer]] +command = "render Bob 22 --yaml" +expect.exit-code = 0 +expect.result = "member_name: Bob\nmember_age: 22" + +[[test.example-picker]] +command = "pick Bob" +expect.exit-code = 0 +expect.result = "Picked: name = Bob, age = 20" + +[[test.example-picker]] +command = "pick Bob --age -15" +expect.exit-code = 0 +expect.result = "Picked: name = Bob, age = 0" + +[[test.example-picker]] +command = "pick --age 99" +expect.exit-code = 0 +expect.result = "No name provided." + +[[test.example-picker]] +command = "pick" +expect.exit-code = 0 +expect.result = "No name provided." + +[[test.example-picker]] +command = "pick --age 150" +expect.exit-code = 0 +expect.result = "No name provided." |
