diff options
Diffstat (limited to 'Test')
| -rw-r--r-- | Test/B02typeset.ztst | 57 | ||||
| -rw-r--r-- | Test/K01nameref.ztst | 58 |
2 files changed, 115 insertions, 0 deletions
diff --git a/Test/B02typeset.ztst b/Test/B02typeset.ztst index 914eea92b..7cca2bd81 100644 --- a/Test/B02typeset.ztst +++ b/Test/B02typeset.ztst @@ -1120,3 +1120,60 @@ 1:Regression test for {...} parsing in typeset ?(eval):typeset:2: not valid in this context: {X} ?(eval):typeset:3: not valid in this context: {X} + + zmodload -u zsh/random + echo v=${SRANDOM/<->/integer} + typeset SRANDOM + echo v=${SRANDOM/<->/integer} +0:Global non -h variable doesn't hide special variable +>v=integer +>v=integer + + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + typeset -g SRANDOM + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + echo v=${SRANDOM/<->/integer} +0:Global non -h variable doesn't hide autoload variable +>z=SRANDOM (zsh/random) +>z=SRANDOM (zsh/random) +>v=integer + + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + typeset -gh SRANDOM + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + echo v=${SRANDOM/<->/integer} +0:Global -h variable doesn't hide autoload variable +>z=SRANDOM (zsh/random) +>z=SRANDOM (zsh/random) +>v=integer + + zmodload -u zsh/random + echo v=${SRANDOM/<->/integer} + typeset SRANDOM + echo v=${SRANDOM/<->/integer} +0:Local non -h variable doesn't hide special variable +>v=integer +>v=integer + + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + typeset SRANDOM + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + echo v=${SRANDOM/<->/integer} +0:Local non -h variable hides autoload variable +F:This is a bug, the non -h variable should not hide the autoload variable +>z=SRANDOM (zsh/random) +>z= +>v= + + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + typeset -h SRANDOM + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + echo v=${SRANDOM/<->/integer} +0:Local -h variable hides autoload variable +>z=SRANDOM (zsh/random) +>z= +>v= diff --git a/Test/K01nameref.ztst b/Test/K01nameref.ztst index 54f0aaf68..52aed0af0 100644 --- a/Test/K01nameref.ztst +++ b/Test/K01nameref.ztst @@ -1179,4 +1179,62 @@ F:previously this could create an infinite recursion and crash >typeset PS1=zz *?* + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + typeset -n ref=SRANDOM + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + echo v=${ref/<->/integer} + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + echo v=${ref/<->/integer} +0:Referring and dereferring an autoload variable loads it (direct) +>z=SRANDOM (zsh/random) +>z= +>v=integer +>z=SRANDOM (zsh/random) +>v=integer + + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + typeset -n ref=SRANDOM[1,20] + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + echo v=${ref/<->/integer} + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + echo v=${ref/<->/integer} +0:Referring and dereferring an autoload variable loads it (subscript) +>z=SRANDOM (zsh/random) +>z= +>v=integer +>z=SRANDOM (zsh/random) +>v=integer + + typeset -n ref=SRANDOM + echo v=${ref/<->/integer} + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + typeset -h SRANDOM=local-variable + echo v=${ref/<->/integer} + echo NOT REACHED +1:Dereferring an autoload variable fails to load it if its hidden (direct) +>v=integer +>z=SRANDOM (zsh/random) +?(eval):6: Can't add module parameter `SRANDOM': local parameter exists +?(eval):zsh/random:6: error when adding parameter `SRANDOM' +?(eval):6: autoloading module zsh/random failed to define parameter: SRANDOM + + typeset -n ref=SRANDOM[1,20] + echo v=${ref/<->/integer} + zmodload -u zsh/random + echo z=${(M)${(f)${ zmodload -ap}}:#*SRANDOM*} + typeset -h SRANDOM=local-variable + echo v=${ref/<->/integer} + echo NOT REACHED +1:Dereferring an autoload variable fails to load it if its hidden (subscript) +>v=integer +>z=SRANDOM (zsh/random) +?(eval):6: Can't add module parameter `SRANDOM': local parameter exists +?(eval):zsh/random:6: error when adding parameter `SRANDOM' +?(eval):6: autoloading module zsh/random failed to define parameter: SRANDOM + %clean |
