| 34 | 34 | | pub times: usize, |
| 35 | 35 | | /// The greeting language (`--lang CODE`). |
| 36 | 36 | | pub lang: Lang, |
| 37 | + | /// Whether to print nothing (`--quiet`). |
| 38 | + | pub quiet: bool, |
| 37 | 39 | | } |
| 38 | 40 | | |
| 39 | 41 | | impl Default for Options { |
| ⋯ |
| 44 | 46 | | version: false, |
| 45 | 47 | | times: 1, |
| 46 | 48 | | lang: Lang::En, |
| 49 | + | quiet: false, |
| 47 | 50 | | } |
| 48 | 51 | | } |
| 49 | 52 | | } |
| ⋯ |
| 67 | 70 | | options.shout = true; |
| 68 | 71 | | } else if arg == "--version" { |
| 69 | 72 | | options.version = true; |
| 73 | + | } else if arg == "--quiet" { |
| 74 | + | options.quiet = true; |
| 70 | 75 | | } else if arg == "--times" { |
| 71 | 76 | | let value = args |
| 72 | 77 | | .next() |
| ⋯ |
| 125 | 130 | | } |
| 126 | 131 | | |
| 127 | 132 | | #[test] |
| 133 | + | fn parse_args_quiet() { |
| 134 | + | assert!(parse_args(args(&["--quiet", "Ada"])).unwrap().quiet); |
| 135 | + | assert!(!parse_args(args(&["Ada"])).unwrap().quiet); |
| 136 | + | } |
| 137 | + | |
| 138 | + | #[test] |
| 128 | 139 | | fn parse_args_no_args() { |
| 129 | 140 | | assert_eq!(parse_args(args(&[])).unwrap().name, None); |
| 130 | 141 | | } |