Test cases for loading from global directory
This commit is contained in:
@@ -18,21 +18,6 @@ function _load_bash_it_files() {
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# In the new structure
|
||||
if [ -d "${BASH_IT}/enabled" ]
|
||||
then
|
||||
declare suffix
|
||||
suffix=$(echo "$subdirectory" | sed -e 's/plugins/plugin/g')
|
||||
|
||||
FILES="${BASH_IT}/enabled/*.${suffix}.bash"
|
||||
for config_file in $FILES
|
||||
do
|
||||
if [ -e "${config_file}" ]; then
|
||||
source $config_file
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# Function for reloading aliases
|
||||
|
||||
@@ -15,6 +15,9 @@ function local_setup {
|
||||
rm -rf "$BASH_IT"/completion/enabled
|
||||
rm -rf "$BASH_IT"/plugins/enabled
|
||||
|
||||
cp -r "$BASH_IT/test/fixtures/bash_it/aliases" "$BASH_IT"
|
||||
cp -r "$BASH_IT/test/fixtures/bash_it/plugins" "$BASH_IT"
|
||||
|
||||
# Don't pollute the user's actual $HOME directory
|
||||
# Use a test home directory instead
|
||||
export BASH_IT_TEST_CURRENT_HOME="${HOME}"
|
||||
@@ -31,6 +34,109 @@ function local_teardown {
|
||||
assert_equal "${BASH_IT_TEST_CURRENT_HOME}" "${HOME}"
|
||||
}
|
||||
|
||||
@test "bash-it: verify that the test fixture is available" {
|
||||
assert [ -e "$BASH_IT/aliases/available/a.aliases.bash" ]
|
||||
assert [ -e "$BASH_IT/aliases/available/b.aliases.bash" ]
|
||||
}
|
||||
|
||||
@test "bash-it: load aliases in order" {
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
mkdir -p $BASH_IT/plugins/enabled
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert [ -L "$BASH_IT/plugins/enabled/250---base.plugin.bash" ]
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/150---a.aliases.bash
|
||||
assert [ -L "$BASH_IT/aliases/enabled/150---a.aliases.bash" ]
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/aliases/enabled/150---b.aliases.bash
|
||||
assert [ -L "$BASH_IT/aliases/enabled/150---b.aliases.bash" ]
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line "0" "alias test_alias='b'"
|
||||
}
|
||||
|
||||
@test "bash-it: load aliases in priority order" {
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
mkdir -p $BASH_IT/plugins/enabled
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert [ -L "$BASH_IT/plugins/enabled/250---base.plugin.bash" ]
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/175---a.aliases.bash
|
||||
assert [ -L "$BASH_IT/aliases/enabled/175---a.aliases.bash" ]
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/aliases/enabled/150---b.aliases.bash
|
||||
assert [ -L "$BASH_IT/aliases/enabled/150---b.aliases.bash" ]
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line "0" "alias test_alias='a'"
|
||||
}
|
||||
|
||||
@test "bash-it: load aliases and plugins in priority order" {
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
mkdir -p $BASH_IT/plugins/enabled
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert [ -L "$BASH_IT/plugins/enabled/250---base.plugin.bash" ]
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/150---a.aliases.bash
|
||||
assert [ -L "$BASH_IT/aliases/enabled/150---a.aliases.bash" ]
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/aliases/enabled/150---b.aliases.bash
|
||||
assert [ -L "$BASH_IT/aliases/enabled/150---b.aliases.bash" ]
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/plugins/enabled/250---c.plugin.bash
|
||||
assert [ -L "$BASH_IT/plugins/enabled/250---c.plugin.bash" ]
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line "0" "alias test_alias='c'"
|
||||
}
|
||||
|
||||
@test "bash-it: load aliases and plugins in priority order, with one alias higher than plugins" {
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
mkdir -p $BASH_IT/plugins/enabled
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert [ -L "$BASH_IT/plugins/enabled/250---base.plugin.bash" ]
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/350---a.aliases.bash
|
||||
assert [ -L "$BASH_IT/aliases/enabled/350---a.aliases.bash" ]
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/aliases/enabled/150---b.aliases.bash
|
||||
assert [ -L "$BASH_IT/aliases/enabled/150---b.aliases.bash" ]
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/plugins/enabled/250---c.plugin.bash
|
||||
assert [ -L "$BASH_IT/plugins/enabled/250---c.plugin.bash" ]
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
# This will be c, loaded from the c plugin, since the individual directories
|
||||
# are loaded one by one.
|
||||
assert_line "0" "alias test_alias='c'"
|
||||
}
|
||||
|
||||
@test "bash-it: load enabled aliases from new structure, priority-based" {
|
||||
mkdir -p $BASH_IT/enabled
|
||||
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/enabled/150---atom.aliases.bash
|
||||
|
||||
3
test/fixtures/bash_it/aliases/available/a.aliases.bash
vendored
Normal file
3
test/fixtures/bash_it/aliases/available/a.aliases.bash
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
alias test_alias="a"
|
||||
3
test/fixtures/bash_it/aliases/available/b.aliases.bash
vendored
Normal file
3
test/fixtures/bash_it/aliases/available/b.aliases.bash
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
alias test_alias="b"
|
||||
3
test/fixtures/bash_it/plugins/available/c.plugin.bash
vendored
Normal file
3
test/fixtures/bash_it/plugins/available/c.plugin.bash
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
alias test_alias="c"
|
||||
Reference in New Issue
Block a user