diff options
author | Heba Waly <heba.waly@gmail.com> | 2020-03-02 20:01:59 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-03-05 14:15:02 (GMT) |
commit | b3b18d1621315fb187689ee6c759bdbbea214eb8 (patch) | |
tree | 71cdc12a22546b811b17a8b73e8c8e9ec349d3f9 /t/t0018-advice.sh | |
parent | fef0c76f1802c42f1d1f3b6344deb182a3600625 (diff) | |
download | git-b3b18d1621315fb187689ee6c759bdbbea214eb8.zip git-b3b18d1621315fb187689ee6c759bdbbea214eb8.tar.gz git-b3b18d1621315fb187689ee6c759bdbbea214eb8.tar.bz2 |
advice: revamp advise API
Currently it's very easy for the advice library's callers to miss
checking the visibility step before printing an advice. Also, it makes
more sense for this step to be handled by the advice library.
Add a new advise_if_enabled function that checks the visibility of
advice messages before printing.
Add a new helper advise_enabled to check the visibility of the advice
if the caller needs to carry out complicated processing based on that
value.
A list of advice_settings is added to cache the config variables names
and values, it's intended to replace advice_config[] and the global
variables once we migrate all the callers to use the new APIs.
Signed-off-by: Heba Waly <heba.waly@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0018-advice.sh')
-rwxr-xr-x | t/t0018-advice.sh | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/t/t0018-advice.sh b/t/t0018-advice.sh new file mode 100755 index 0000000..e03554d --- /dev/null +++ b/t/t0018-advice.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +test_description='Test advise_if_enabled functionality' + +. ./test-lib.sh + +test_expect_success 'advice should be printed when config variable is unset' ' + cat >expect <<-\EOF && + hint: This is a piece of advice + hint: Disable this message with "git config advice.nestedTag false" + EOF + test-tool advise "This is a piece of advice" 2>actual && + test_i18ncmp expect actual +' + +test_expect_success 'advice should be printed when config variable is set to true' ' + cat >expect <<-\EOF && + hint: This is a piece of advice + hint: Disable this message with "git config advice.nestedTag false" + EOF + test_config advice.nestedTag true && + test-tool advise "This is a piece of advice" 2>actual && + test_i18ncmp expect actual +' + +test_expect_success 'advice should not be printed when config variable is set to false' ' + test_config advice.nestedTag false && + test-tool advise "This is a piece of advice" 2>actual && + test_must_be_empty actual +' + +test_done |