diff options
| author | Craig Jennings <c@cjennings.net> | 2025-05-08 18:49:34 -0500 | 
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-05-08 18:51:59 -0500 | 
| commit | 000e00871830cd15de032c80e2b62946cf19445c (patch) | |
| tree | 794a7922750472bbe0e024042d6ba84f411fc3e0 /dotfiles/system/.zsh/modules/Test/B09hash.ztst | |
| parent | fe302606931e4bad91c4ed6df81a4403523ba780 (diff) | |
adding missing dotfiles and folders
- profile.d/
- bashrc
- authinfo.gpg
- .zsh/
Diffstat (limited to 'dotfiles/system/.zsh/modules/Test/B09hash.ztst')
| -rw-r--r-- | dotfiles/system/.zsh/modules/Test/B09hash.ztst | 79 | 
1 files changed, 79 insertions, 0 deletions
| diff --git a/dotfiles/system/.zsh/modules/Test/B09hash.ztst b/dotfiles/system/.zsh/modules/Test/B09hash.ztst new file mode 100644 index 0000000..7b5dfb4 --- /dev/null +++ b/dotfiles/system/.zsh/modules/Test/B09hash.ztst @@ -0,0 +1,79 @@ +# The hash builtin is most used for the command hash table, which is +# populated automatically.  This is therefore highly system specific, +# so mostly we'll test with the directory hash table: the logic is +# virtually identical but with the different table, and furthermore +# the shell doesn't care whether the directory exists unless you refer +# to it in a context that needs one. + +%prep +  populate_hash() { +    hash -d one=/first/directory +    hash -d two=/directory/the/second +    hash -d three=/noch/ein/verzeichnis +    hash -d four=/bored/with/this/now +  } + +%test + +  hash -d +0:Directory hash initially empty + +  populate_hash +  hash -d +0:Populating directory hash and output with sort +>four=/bored/with/this/now +>one=/first/directory +>three=/noch/ein/verzeichnis +>two=/directory/the/second +   +  hash -rd +  hash -d +0:Empty hash + +  populate_hash +  hash -d +0:Refill hash +>four=/bored/with/this/now +>one=/first/directory +>three=/noch/ein/verzeichnis +>two=/directory/the/second +  +  hash -dL +0:hash -L option +>hash -d four=/bored/with/this/now +>hash -d one=/first/directory +>hash -d three=/noch/ein/verzeichnis +>hash -d two=/directory/the/second + +  hash -dm 't*' +0:hash -m option +>three=/noch/ein/verzeichnis +>two=/directory/the/second + +  hash -d five=/yet/more six=/here/we/go seven=/not/yet/eight +  hash -d +0:Multiple assignments +>five=/yet/more +>four=/bored/with/this/now +>one=/first/directory +>seven=/not/yet/eight +>six=/here/we/go +>three=/noch/ein/verzeichnis +>two=/directory/the/second + +  hash -d one two three +0:Multiple arguments with no assignment not in verbose mode + +  hash -vd one two three +0:Multiple arguments with no assignment in verbose mode +>one=/first/directory +>two=/directory/the/second +>three=/noch/ein/verzeichnis + +  hash -d t-t=/foo +  i="~t-t" +  print ~t-t/bar +  print ${~i}/rab +0:Dashes are untokenized in directory hash names +>/foo/bar +>/foo/rab | 
