fisher/test/validate-file.fish
Jorge Bucaran 5dc1eea953
Ahoy! an early v0.7.0 is here!
+ Add  the ability  to install plugins  from Gists.  You can
distribute a very simple,  one-single function plugin in the
form  of a  Gist. Your  users  can install  it using  fisher
install  url and  Fisherman will  query the  Gist using  the
GitHub API to get a list of  the Gist files and use the name
of the  first identified *.fish  file to name the  plugin in
your system.  Since there is no  formal way to name  a Gist,
and you may  prefer to keep the "description"  field for the
actual description  and not a name,  Fisherman supports only
one fish file per Gist. Closes #75.

+ Use command(1) when calling non-builtins. Thanks @daenney.
Closes #79.

+  Add  __fisher_plugin_can_enable  to detect  installing  a
prompt that is not the current one. Closes #78.

+  Remove  the ability  to  install  a  plugin in  a  parent
directory using ..  or ../ or even worse, ../../  as well as
other combinations  that navigate  to a parent  directory. I
find  the use  case odd  at  best, and  more dangerous  that
useful.  If you  want  to  install a  local  plugin use  the
full  path  or a  relative  path,  always top  down.  fisher
install  . or  fisher  install my/plugin  or fisher  install
/Users/$USER/path/to/plugin. Closes #81.
2016-02-11 09:40:03 +09:00

45 lines
936 B
Fish

set -l path $DIRNAME/.t-$TESTNAME-(random)
function -S setup
mkdir -p $path
touch $path/file
end
function -S teardown
rm -rf $path
end
test "$TESTNAME - Get a valid path"
"$path" = (__fisher_plugin_validate $path)
end
test "$TESTNAME - Get absolute path if not given a full path"
"$path" = (
pushd $path
__fisher_plugin_validate .
popd
)
end
test "$TESTNAME - Remove trailing slashes"
"$path" = (__fisher_plugin_validate $path/)
end
test "$TESTNAME - Clean up unusual paths"
"$path" = (
pushd $path/../../
__fisher_plugin_validate ./test/.//////(basename $path)
popd
)
end
test "$TESTNAME - Fail phoney paths"
-z (__fisher_plugin_validate /(random)/(random))
end
for invalid_path in ".." "../"
test "$TESTNAME - Do not allow to install '$invalid_path' like paths"
-z (__fisher_plugin_validate $invalid_path)
end
end