Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
[submodule "test_lib/bats-core"]
path = test_lib/bats-core
url = https://github.com/bats-core/bats-core
branch = tags/v1.9.0
branch = tags/v1.11.1
[submodule "test_lib/bats-support"]
path = test_lib/bats-support
url = https://github.com/bats-core/bats-support
branch = tags/v0.3.0
branch = master
#branch = tags/v0.3.0
[submodule "test_lib/bats-assert"]
path = test_lib/bats-assert
url = https://github.com/bats-core/bats-assert
branch = tags/v2.1.0
[submodule "test_lib/bats-file"]
path = test_lib/bats-file
url = https://github.com/bats-core/bats-file
branch = tags/v0.4.0
branch = master
20 changes: 10 additions & 10 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,8 @@ function _bash-it_check_for_backup() {
fi
echo -e "\033[0;33mBackup file already exists. Make sure to backup your .bashrc before running this installation.\033[0m" >&2

if [[ -z "${overwrite_backup}" ]]; then
while [[ -z "${silent}" ]]; do
if [[ -z "${overwrite_backup:-}" ]]; then
while [[ -z "${silent:-}" ]]; do
read -e -n 1 -r -p "Would you like to overwrite the existing backup? This will delete your existing backup file ($HOME/$BACKUP_FILE) [y/N] " RESP
case $RESP in
[yY])
Expand All @@ -99,9 +99,9 @@ function _bash-it_check_for_backup() {
esac
done
fi
if [[ -z "${overwrite_backup}" ]]; then
if [[ -z "${overwrite_backup:-}" ]]; then
echo -e "\033[91mInstallation aborted. Please come back soon!\033[m"
if [[ -n "${silent}" ]]; then
if [[ -n "${silent:-}" ]]; then
echo -e "\033[91mUse \"-f\" flag to force overwrite of backup.\033[m"
fi
exit 1
Expand All @@ -113,8 +113,8 @@ function _bash-it_check_for_backup() {
function _bash-it_modify_config_files() {
_bash-it_check_for_backup

if [[ -z "${silent}" ]]; then
while [[ -z "${append_to_config}" ]]; do
if [[ -z "${silent:-}" ]]; then
while [[ -z "${append_to_config:-}" ]]; do
read -e -n 1 -r -p "Would you like to keep your $CONFIG_FILE and append bash-it templates at the end? [y/N] " choice
case $choice in
[yY])
Expand All @@ -130,7 +130,7 @@ function _bash-it_modify_config_files() {
esac
done
fi
if [[ -n "${append_to_config}" ]]; then
if [[ -n "${append_to_config:-}" ]]; then
# backup/append
_bash-it_backup_append
else
Expand Down Expand Up @@ -173,12 +173,12 @@ done

shift $((OPTIND - 1))

if [[ -n "${silent}" && -n "${interactive}" ]]; then
if [[ -n "${silent:-}" && -n "${interactive:-}" ]]; then
echo -e "\033[91mOptions --silent and --interactive are mutually exclusive. Please choose one or the other.\033[m"
exit 1
fi

if [[ -n "${no_modify_config}" && -n "${append_to_config}" ]]; then
if [[ -n "${no_modify_config:-}" && -n "${append_to_config:-}" ]]; then
echo -e "\033[91mOptions --no-modify-config and --append-to-config are mutually exclusive. Please choose one or the other.\033[m"
exit 1
fi
Expand Down Expand Up @@ -220,7 +220,7 @@ cite _about _param _example _group _author _version
# shellcheck source=./lib/helpers.bash
source "$BASH_IT/lib/helpers.bash"

if [[ -n $interactive && -z "${silent}" ]]; then
if [[ -n ${interactive:-} && -z "${silent:-}" ]]; then
for type in "aliases" "plugins" "completion"; do
echo -e "\033[0;32mEnabling ${type}\033[0m"
_bash-it_load_some "$type"
Expand Down
56 changes: 28 additions & 28 deletions test/lib/helpers.bats
Original file line number Diff line number Diff line change
Expand Up @@ -40,39 +40,39 @@ function local_setup() {
}

@test "helpers: bash-it help list aliases with ag aliases enabled" {
ln -s "${BASH_IT?}/aliases/available/ag.aliases.bash" "${BASH_IT?}/aliases/enabled/150---ag.aliases.bash"
run ln -s "${BASH_IT?}/aliases/available/ag.aliases.bash" "${BASH_IT?}/aliases/enabled/150---ag.aliases.bash"
assert_link_exist "${BASH_IT?}/aliases/enabled/150---ag.aliases.bash"

run _help-list-aliases "${BASH_IT?}/aliases/enabled/150---ag.aliases.bash"
assert_line -n 0 "ag:"
}

@test "helpers: bash-it help list aliases with todo.txt-cli aliases enabled" {
ln -s "${BASH_IT?}/aliases/available/todo.txt-cli.aliases.bash" "${BASH_IT?}/aliases/enabled/150---todo.txt-cli.aliases.bash"
run ln -s "${BASH_IT?}/aliases/available/todo.txt-cli.aliases.bash" "${BASH_IT?}/aliases/enabled/150---todo.txt-cli.aliases.bash"
assert_link_exist "${BASH_IT?}/aliases/enabled/150---todo.txt-cli.aliases.bash"

run _help-list-aliases "${BASH_IT?}/aliases/enabled/150---todo.txt-cli.aliases.bash"
assert_line -n 0 "todo.txt-cli:"
}

@test "helpers: bash-it help list aliases with docker-compose aliases enabled" {
ln -s "${BASH_IT?}/aliases/available/docker-compose.aliases.bash" "${BASH_IT?}/aliases/enabled/150---docker-compose.aliases.bash"
run ln -s "${BASH_IT?}/aliases/available/docker-compose.aliases.bash" "${BASH_IT?}/aliases/enabled/150---docker-compose.aliases.bash"
assert_link_exist "${BASH_IT?}/aliases/enabled/150---docker-compose.aliases.bash"

run _help-list-aliases "${BASH_IT?}/aliases/enabled/150---docker-compose.aliases.bash"
assert_line -n 0 "docker-compose:"
}

@test "helpers: bash-it help list aliases with ag aliases enabled in global directory" {
ln -s "${BASH_IT?}/aliases/available/ag.aliases.bash" "${BASH_IT?}/enabled/150---ag.aliases.bash"
run ln -s "${BASH_IT?}/aliases/available/ag.aliases.bash" "${BASH_IT?}/enabled/150---ag.aliases.bash"
assert_link_exist "${BASH_IT?}/enabled/150---ag.aliases.bash"

run _help-list-aliases "${BASH_IT?}/enabled/150---ag.aliases.bash"
assert_line -n 0 "ag:"
}

@test "helpers: bash-it help aliases one alias enabled in the old directory" {
ln -s "${BASH_IT?}/aliases/available/ag.aliases.bash" "${BASH_IT?}/aliases/enabled/150---ag.aliases.bash"
run ln -s "${BASH_IT?}/aliases/available/ag.aliases.bash" "${BASH_IT?}/aliases/enabled/150---ag.aliases.bash"
assert_link_exist "${BASH_IT?}/aliases/enabled/150---ag.aliases.bash"

run bash-it help aliases
Expand Down Expand Up @@ -192,7 +192,7 @@ function local_setup() {
}

@test "helpers: disable the nvm plugin if it was enabled with a priority, but in the component-specific directory" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
assert [ ! -L "${BASH_IT?}/enabled/225---nvm.plugin.bash" ]

Expand All @@ -203,7 +203,7 @@ function local_setup() {
}

@test "helpers: disable the nvm plugin if it was enabled without a priority" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"

run _disable-plugin "nvm"
Expand All @@ -212,7 +212,7 @@ function local_setup() {
}

@test "helpers: enable the nvm plugin if it was enabled without a priority" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"

run _enable-plugin "nvm"
Expand All @@ -223,7 +223,7 @@ function local_setup() {
}

@test "helpers: enable the nvm plugin if it was enabled with a priority, but in the component-specific directory" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"

run _enable-plugin "nvm"
Expand Down Expand Up @@ -404,10 +404,10 @@ function local_setup() {
}

@test "helpers: migrate plugins and completions that share the same name" {
ln -s "${BASH_IT?}/completion/available/dirs.completion.bash" "${BASH_IT?}/completion/enabled/350---dirs.completion.bash"
run ln -s "${BASH_IT?}/completion/available/dirs.completion.bash" "${BASH_IT?}/completion/enabled/350---dirs.completion.bash"
assert_link_exist "${BASH_IT?}/completion/enabled/350---dirs.completion.bash"

ln -s "${BASH_IT?}/plugins/available/dirs.plugin.bash" "${BASH_IT?}/plugins/enabled/250---dirs.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/dirs.plugin.bash" "${BASH_IT?}/plugins/enabled/250---dirs.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/250---dirs.plugin.bash"

run _bash-it-migrate
Expand All @@ -426,13 +426,13 @@ function local_setup() {
}

@test "helpers: migrate enabled plugins that don't use the new priority-based configuration" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"

ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/node.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/node.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/node.plugin.bash"

ln -s "${BASH_IT?}/aliases/available/todo.txt-cli.aliases.bash" "${BASH_IT?}/aliases/enabled/todo.txt-cli.aliases.bash"
run ln -s "${BASH_IT?}/aliases/available/todo.txt-cli.aliases.bash" "${BASH_IT?}/aliases/enabled/todo.txt-cli.aliases.bash"
assert_link_exist "${BASH_IT?}/aliases/enabled/todo.txt-cli.aliases.bash"

run _enable-plugin "ssh"
Expand All @@ -453,13 +453,13 @@ function local_setup() {
}

@test "helpers: migrate enabled plugins that use the new priority-based configuration in the individual directories" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"

ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"

ln -s "${BASH_IT?}/aliases/available/todo.txt-cli.aliases.bash" "${BASH_IT?}/aliases/enabled/250---todo.txt-cli.aliases.bash"
run ln -s "${BASH_IT?}/aliases/available/todo.txt-cli.aliases.bash" "${BASH_IT?}/aliases/enabled/250---todo.txt-cli.aliases.bash"
assert_link_exist "${BASH_IT?}/aliases/enabled/250---todo.txt-cli.aliases.bash"

run _enable-plugin "ssh"
Expand Down Expand Up @@ -495,9 +495,9 @@ function __migrate_all_components() {
for f in "${BASH_IT}/$subdirectory/available/"*.bash; do
to_enable=$(basename "$f")
if [[ -z "$priority" ]]; then
ln -s "../available/$to_enable" "${BASH_IT}/${subdirectory}/enabled/$to_enable"
run ln -s "../available/$to_enable" "${BASH_IT}/${subdirectory}/enabled/$to_enable"
else
ln -s "../available/$to_enable" "${BASH_IT}/${subdirectory}/enabled/$priority---$to_enable"
run ln -s "../available/$to_enable" "${BASH_IT}/${subdirectory}/enabled/$priority---$to_enable"
fi
done

Expand Down Expand Up @@ -566,7 +566,7 @@ function __migrate_all_components() {
}

@test "helpers: verify that existing components are automatically migrated when something is enabled" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"

run bash-it enable plugin "node"
Expand All @@ -581,9 +581,9 @@ function __migrate_all_components() {
}

@test "helpers: verify that existing components are automatically migrated when something is disabled" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"

run bash-it disable plugin "node"
Expand Down Expand Up @@ -627,10 +627,10 @@ function __migrate_all_components() {

@test "helpers: disable all plugins in the old directory structure" {
local enabled enabled2
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"

ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/node.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/node.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/node.plugin.bash"

enabled=$(find "${BASH_IT?}/plugins/enabled" -name '*.plugin.bash' | wc -l | xargs)
Expand All @@ -647,10 +647,10 @@ function __migrate_all_components() {

@test "helpers: disable all plugins in the old directory structure with priority" {
local enabled enabled2
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/250---nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/250---nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/250---nvm.plugin.bash"

ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/node.plugin.bash" "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/250---node.plugin.bash"

enabled=$(find "${BASH_IT?}/plugins/enabled" -name '*.plugin.bash' | wc -l | xargs)
Expand Down Expand Up @@ -698,14 +698,14 @@ function __migrate_all_components() {
}

@test "helpers: describe the nvm plugin after enabling it in the old directory" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/nvm.plugin.bash"

_bash-it-plugins | grep "nvm" | grep "\[x\]"
}

@test "helpers: describe the nvm plugin after enabling it in the old directory with priority" {
ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
run ln -s "${BASH_IT?}/plugins/available/nvm.plugin.bash" "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"
assert_link_exist "${BASH_IT?}/plugins/enabled/225---nvm.plugin.bash"

_bash-it-plugins | grep "nvm" | grep "\[x\]"
Expand Down
8 changes: 6 additions & 2 deletions test/plugins/base.plugin.bats
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@ function local_setup_file() {
}

@test 'plugins base: ips()' {
readonly localhost='127.0.0.1'
if [[ -n "${CI:-}" ]]; then
skip 'ifconfig probably requires sudo on TravisCI'
fi

declare -r localhost='127.0.0.1'
run ips
assert_success
assert_line "$localhost"
assert_line $localhost
}

@test 'plugins base: myip()' {
Expand Down
Loading