this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 77172c51a4121ee14d0d9caa4e9cc687f6b32641 55 lines 1.8 kB view raw
1use assert_cmd::prelude::*; 2use predicates::prelude::*; 3use std::process::Command; 4 5mod common; 6 7/// The hidden `completions` / `manpage` subcommands are integration-tested by 8/// shape, not content: each must succeed and emit non-empty stdout so that 9/// packagers can pipe the output into a file during install. 10mod meta { 11 use super::*; 12 13 #[test] 14 fn completions_bash() -> Result<(), Box<dyn std::error::Error>> { 15 let mut cmd = Command::cargo_bin("cmprss")?; 16 cmd.args(["completions", "bash"]); 17 cmd.assert() 18 .success() 19 .stdout(predicate::str::contains("_cmprss")); 20 Ok(()) 21 } 22 23 #[test] 24 fn completions_zsh() -> Result<(), Box<dyn std::error::Error>> { 25 let mut cmd = Command::cargo_bin("cmprss")?; 26 cmd.args(["completions", "zsh"]); 27 cmd.assert() 28 .success() 29 .stdout(predicate::str::contains("#compdef cmprss")); 30 Ok(()) 31 } 32 33 #[test] 34 fn manpage_emits_troff() -> Result<(), Box<dyn std::error::Error>> { 35 let mut cmd = Command::cargo_bin("cmprss")?; 36 cmd.arg("manpage"); 37 cmd.assert() 38 .success() 39 .stdout(predicate::str::contains(".TH cmprss 1")) 40 .stdout(predicate::str::contains(".SH NAME")); 41 Ok(()) 42 } 43 44 /// `cmprss --help` must not advertise the hidden meta subcommands. 45 #[test] 46 fn meta_subcommands_hidden_from_help() -> Result<(), Box<dyn std::error::Error>> { 47 let mut cmd = Command::cargo_bin("cmprss")?; 48 cmd.arg("--help"); 49 cmd.assert() 50 .success() 51 .stdout(predicate::str::contains("completions").not()) 52 .stdout(predicate::str::contains("manpage").not()); 53 Ok(()) 54 } 55}