diff options
author | Dan Davison <dandavison7@gmail.com> | 2020-06-21 21:29:06 -0400 |
---|---|---|
committer | Dan Davison <dandavison7@gmail.com> | 2020-06-21 21:29:06 -0400 |
commit | f942d0f6e34209a09e9ccf20585f47c2a967358f (patch) | |
tree | 2480005c15a39d3915b79abc1df00682a368a99c | |
parent | 7d7dd11dc783aca02d2a8af3456e16b4f37efe4e (diff) |
Add failing test: features should add to set, not replace it
-rw-r--r-- | src/features/mod.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/features/mod.rs b/src/features/mod.rs index ef80f1e5..6a80539f 100644 --- a/src/features/mod.rs +++ b/src/features/mod.rs @@ -105,6 +105,26 @@ pub mod tests { } #[test] + fn test_feature_is_not_removed_by_addition_of_another_feature() { + let dummy_arg_matches = clap::ArgMatches::new(); + let mut opt = cli::Opt::from_iter(&["delta", "--color-only"]); + set_options(&mut opt, &mut None, &dummy_arg_matches); + let features: HashSet<&str> = opt.features.split_whitespace().collect(); + assert!(features.contains("color-only")); + let git_config_contents = b" +[delta] + features = my-feature +"; + let git_config_path = + "delta__test_feature_is_not_removed_by_addition_of_another_feature.gitconfig"; + let git_config = make_git_config(git_config_contents, git_config_path); + set_options(&mut opt, &mut Some(git_config), &dummy_arg_matches); + let features: HashSet<&str> = opt.features.split_whitespace().collect(); + assert!(features.contains("my-feature")); + assert!(features.contains("color-only")); + } + + #[test] fn test_main_section() { let git_config_contents = b" [delta] |