Loading components from global enabled directory
parent
5210707da8
commit
fd637a3dc6
|
|
@ -48,6 +48,9 @@ done
|
|||
|
||||
# TODO Automatically check for content that needs to be migrated
|
||||
|
||||
# Load the global "enabled" directory
|
||||
_load_global_bash_it_files
|
||||
|
||||
# Load enabled aliases, completion, plugins
|
||||
for file_type in "aliases" "plugins" "completion"
|
||||
do
|
||||
|
|
|
|||
|
|
@ -20,6 +20,20 @@ function _load_bash_it_files() {
|
|||
fi
|
||||
}
|
||||
|
||||
function _load_global_bash_it_files() {
|
||||
# In the new structure
|
||||
if [ -d "${BASH_IT}/enabled" ]
|
||||
then
|
||||
FILES="${BASH_IT}/enabled/*.bash"
|
||||
for config_file in $FILES
|
||||
do
|
||||
if [ -e "${config_file}" ]; then
|
||||
source $config_file
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# Function for reloading aliases
|
||||
function reload_aliases() {
|
||||
_load_bash_it_files "aliases"
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ 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"
|
||||
# Copy the test fixture to the Bash-it folder
|
||||
rsync -a "$BASH_IT/test/fixtures/bash_it/" "$BASH_IT/"
|
||||
|
||||
# Don't pollute the user's actual $HOME directory
|
||||
# Use a test home directory instead
|
||||
|
|
@ -137,6 +137,100 @@ function local_teardown {
|
|||
assert_line "0" "alias test_alias='c'"
|
||||
}
|
||||
|
||||
@test "bash-it: load global aliases in order" {
|
||||
mkdir -p $BASH_IT/enabled
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert [ -L "$BASH_IT/enabled/250---base.plugin.bash" ]
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/150---a.aliases.bash
|
||||
assert [ -L "$BASH_IT/enabled/150---a.aliases.bash" ]
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert [ -L "$BASH_IT/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 global aliases in priority order" {
|
||||
mkdir -p $BASH_IT/enabled
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert [ -L "$BASH_IT/enabled/250---base.plugin.bash" ]
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/175---a.aliases.bash
|
||||
assert [ -L "$BASH_IT/enabled/175---a.aliases.bash" ]
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert [ -L "$BASH_IT/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 global aliases and plugins in priority order" {
|
||||
mkdir -p $BASH_IT/enabled
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert [ -L "$BASH_IT/enabled/250---base.plugin.bash" ]
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/150---a.aliases.bash
|
||||
assert [ -L "$BASH_IT/enabled/150---a.aliases.bash" ]
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert [ -L "$BASH_IT/enabled/150---b.aliases.bash" ]
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/enabled/250---c.plugin.bash
|
||||
assert [ -L "$BASH_IT/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 global aliases and plugins in priority order, with one alias higher than plugins" {
|
||||
mkdir -p $BASH_IT/enabled
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert [ -L "$BASH_IT/enabled/250---base.plugin.bash" ]
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/350---a.aliases.bash
|
||||
assert [ -L "$BASH_IT/enabled/350---a.aliases.bash" ]
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert [ -L "$BASH_IT/enabled/150---b.aliases.bash" ]
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/enabled/250---c.plugin.bash
|
||||
assert [ -L "$BASH_IT/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 a, loaded from the a aliases, since the global directory
|
||||
# loads all component types at once
|
||||
assert_line "0" "alias test_alias='a'"
|
||||
}
|
||||
|
||||
@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
|
||||
|
|
|
|||
Loading…
Reference in New Issue