1 use gix_pathspec
::{Defaults, MagicSignature, SearchMode}
;
2 use serial_test
::serial
;
6 fn literal_only_combines_with_icase() -> gix_testtools
::Result
{
8 let _env
= gix_testtools
::Env
::new()
9 .set("GIT_LITERAL_PATHSPECS", "true")
10 .set("GIT_ICASE_PATHSPECS", "1")
11 .set("GIT_NOGLOB_PATHSPECS", "yes");
13 Defaults
::from_environment(&mut |n
| std
::env
::var_os(n
))?
,
15 signature
: MagicSignature
::ICASE
,
16 search_mode
: SearchMode
::Literal
,
22 let _env
= gix_testtools
::Env
::new()
23 .set("GIT_LITERAL_PATHSPECS", "true")
24 .set("GIT_ICASE_PATHSPECS", "false")
25 .set("GIT_GLOB_PATHSPECS", "yes");
27 Defaults
::from_environment(&mut |n
| std
::env
::var_os(n
))?
,
29 signature
: MagicSignature
::default(),
30 search_mode
: SearchMode
::Literal
,
39 fn nothing_is_set_then_it_is_like_the_default_impl() -> gix_testtools
::Result
{
41 Defaults
::from_environment(&mut |n
| std
::env
::var_os(n
))?
,
49 fn glob_and_noglob_cause_error() -> gix_testtools
::Result
{
50 let _env
= gix_testtools
::Env
::new()
51 .set("GIT_GLOB_PATHSPECS", "1")
52 .set("GIT_NOGLOB_PATHSPECS", "yes");
54 Defaults
::from_environment(&mut |n
| std
::env
::var_os(n
))
57 "Glob and no-glob settings are mutually exclusive"
65 fn noglob_works() -> gix_testtools
::Result
{
66 let _env
= gix_testtools
::Env
::new()
67 .set("GIT_GLOB_PATHSPECS", "0")
68 .set("GIT_NOGLOB_PATHSPECS", "true");
70 Defaults
::from_environment(&mut |n
| std
::env
::var_os(n
))?
,
72 signature
: MagicSignature
::default(),
73 search_mode
: SearchMode
::Literal
,
76 "it's OK to set only one of them, and only no-glob has an interesting, non-default effect"
83 fn glob_works() -> gix_testtools
::Result
{
84 let _env
= gix_testtools
::Env
::new().set("GIT_GLOB_PATHSPECS", "yes");
86 Defaults
::from_environment(&mut |n
| std
::env
::var_os(n
))?
,
88 signature
: MagicSignature
::default(),
89 search_mode
: SearchMode
::PathAwareGlob
,
92 "docs here are strange but they mean to use pathaware globbing when this variable is set"