Merge d37505b636 into 3a778072db
commit
059f403823
|
|
@ -1,5 +1,6 @@
|
|||
*.sh text eol=lf
|
||||
*.bash text eol=lf
|
||||
*.bats text eol=lf
|
||||
|
||||
# Docs allow trailing whitespaces
|
||||
*.md whitespace=-blank-at-eol
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ repos:
|
|||
hooks:
|
||||
- id: git-check # Configure in .gitattributes
|
||||
- id: shellcheck
|
||||
exclude: ".bats$"
|
||||
- id: shfmt
|
||||
exclude: ".bats$"
|
||||
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
||||
rev: v1.1.7
|
||||
hooks:
|
||||
|
|
@ -38,10 +36,9 @@ repos:
|
|||
types: [file]
|
||||
- id: dot-bash
|
||||
name: Check .bash files against bash-it requirements
|
||||
exclude: "test/test_helper.bash"
|
||||
entry: ./hooks/dot-bash.sh
|
||||
language: system
|
||||
files: "\\.bash$"
|
||||
files: "\\.ba[ts][sh]$"
|
||||
types: [file]
|
||||
- id: clean-files-txt
|
||||
name: Check that clean_files.txt is sorted alphabetically.
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ aliases/
|
|||
docs/
|
||||
hooks/
|
||||
scripts/
|
||||
test/
|
||||
|
||||
# root files
|
||||
#
|
||||
|
|
@ -134,12 +135,6 @@ plugins/available/todo.plugin.bash
|
|||
plugins/available/xterm.plugin.bash
|
||||
plugins/available/zoxide.plugin.bash
|
||||
|
||||
# tests
|
||||
#
|
||||
test/plugins/alias-completion.plugin.bats
|
||||
test/run
|
||||
test/test_helper.bash
|
||||
|
||||
# themes
|
||||
#
|
||||
themes/90210
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@ for file in "$@"; do
|
|||
# Confirm expected schellcheck header
|
||||
#
|
||||
LINE1="$(head -n 1 "${file}")"
|
||||
if [[ "${LINE1}" != "# shellcheck shell=bash" ]]; then
|
||||
SCSH="${file##*.}"
|
||||
if [[ "${LINE1}" != "# shellcheck shell=${SCSH}" ]]; then
|
||||
echo "Bash include file \`${file}\` has bad/missing shellcheck header"
|
||||
exit_code=1
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -3,341 +3,305 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
# Copy the test fixture to the Bash-it folder
|
||||
cp -fRP "${BASH_IT?}/test/fixtures/bash_it"/* "${BASH_IT?}/" || true
|
||||
# don't load any libraries as the tests here test the *whole* kit
|
||||
# Copy the test fixture to the Bash-it folder
|
||||
cp -fRP "${BASH_IT?}/test/fixtures/bash_it"/* "${BASH_IT?}/" || true
|
||||
# don't load any libraries as the tests here test the *whole* kit
|
||||
}
|
||||
|
||||
@test "bash-it: verify that the test fixture is available" {
|
||||
assert_file_exist "$BASH_IT/aliases/available/a.aliases.bash"
|
||||
assert_file_exist "$BASH_IT/aliases/available/b.aliases.bash"
|
||||
assert_file_exist "${BASH_IT?}/aliases/available/a.aliases.bash"
|
||||
assert_file_exist "${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_link_exist "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$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_link_exist "${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_link_exist "${BASH_IT?}/aliases/enabled/150---b.aliases.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/150---a.aliases.bash
|
||||
assert_link_exist "$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_link_exist "$BASH_IT/aliases/enabled/150---b.aliases.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 0 "alias test_alias='b'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 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_link_exist "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$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_link_exist "${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_link_exist "${BASH_IT?}/aliases/enabled/150---b.aliases.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/175---a.aliases.bash
|
||||
assert_link_exist "$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_link_exist "$BASH_IT/aliases/enabled/150---b.aliases.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 0 "alias test_alias='a'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 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_link_exist "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$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_link_exist "${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_link_exist "${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_link_exist "${BASH_IT?}/plugins/enabled/250---c.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/150---a.aliases.bash
|
||||
assert_link_exist "$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_link_exist "$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_link_exist "$BASH_IT/plugins/enabled/250---c.plugin.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 0 "alias test_alias='c'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 0 "alias test_alias='c'"
|
||||
}
|
||||
|
||||
@test "bash-it: load aliases, plugins and completions in priority order" {
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
mkdir -p $BASH_IT/plugins/enabled
|
||||
mkdir -p $BASH_IT/completion/enabled
|
||||
ln -s "${BASH_IT?}/plugins/available/base.plugin.bash" "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$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_link_exist "${BASH_IT?}/aliases/enabled/150---a.aliases.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/b.aliases.bash" "${BASH_IT?}/completion/enabled/350---b.completion.bash"
|
||||
assert_link_exist "${BASH_IT?}/completion/enabled/350---b.completion.bash"
|
||||
ln -s "${BASH_IT?}/plugins/available/c.plugin.bash" "${BASH_IT?}/plugins/enabled/250---c.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/plugins/enabled/250---c.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/150---a.aliases.bash
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/150---a.aliases.bash"
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/completion/enabled/350---b.completion.bash
|
||||
assert_link_exist "$BASH_IT/completion/enabled/350---b.completion.bash"
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/plugins/enabled/250---c.plugin.bash
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/250---c.plugin.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
# "b" wins since completions are loaded last in the old directory structure
|
||||
assert_line -n 0 "alias test_alias='b'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
# "b" wins since completions are loaded last in the old directory structure
|
||||
assert_line -n 0 "alias test_alias='b'"
|
||||
}
|
||||
|
||||
@test "bash-it: load aliases, plugins and completions in priority order, even if the priority says otherwise" {
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
mkdir -p $BASH_IT/plugins/enabled
|
||||
mkdir -p $BASH_IT/completion/enabled
|
||||
ln -s "${BASH_IT?}/plugins/available/base.plugin.bash" "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/250---base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/a.aliases.bash" "${BASH_IT?}/aliases/enabled/450---a.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/aliases/enabled/450---a.aliases.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/b.aliases.bash" "${BASH_IT?}/completion/enabled/350---b.completion.bash"
|
||||
assert_link_exist "${BASH_IT?}/completion/enabled/350---b.completion.bash"
|
||||
ln -s "${BASH_IT?}/plugins/available/c.plugin.bash" "${BASH_IT?}/plugins/enabled/950---c.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/plugins/enabled/950---c.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/450---a.aliases.bash
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/450---a.aliases.bash"
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/completion/enabled/350---b.completion.bash
|
||||
assert_link_exist "$BASH_IT/completion/enabled/350---b.completion.bash"
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/plugins/enabled/950---c.plugin.bash
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/950---c.plugin.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
# "b" wins since completions are loaded last in the old directory structure
|
||||
assert_line -n 0 "alias test_alias='b'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
# "b" wins since completions are loaded last in the old directory structure
|
||||
assert_line -n 0 "alias test_alias='b'"
|
||||
}
|
||||
|
||||
@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_link_exist "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$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_link_exist "${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_link_exist "${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_link_exist "${BASH_IT?}/plugins/enabled/250---c.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/aliases/enabled/350---a.aliases.bash
|
||||
assert_link_exist "$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_link_exist "$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_link_exist "$BASH_IT/plugins/enabled/250---c.plugin.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
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 -n 0 "alias test_alias='c'"
|
||||
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 -n 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_link_exist "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/a.aliases.bash" "${BASH_IT?}/enabled/150---a.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---a.aliases.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/b.aliases.bash" "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/150---a.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/150---a.aliases.bash"
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/150---b.aliases.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 0 "alias test_alias='b'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 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_link_exist "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/a.aliases.bash" "${BASH_IT?}/enabled/175---a.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/175---a.aliases.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/b.aliases.bash" "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/175---a.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/175---a.aliases.bash"
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/150---b.aliases.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 0 "alias test_alias='a'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 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_link_exist "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/a.aliases.bash" "${BASH_IT?}/enabled/150---a.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---a.aliases.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/b.aliases.bash" "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
ln -s "${BASH_IT?}/plugins/available/c.plugin.bash" "${BASH_IT?}/enabled/250---c.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/250---c.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/150---a.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/150---a.aliases.bash"
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/150---b.aliases.bash"
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/enabled/250---c.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---c.plugin.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 0 "alias test_alias='c'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
assert_line -n 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_link_exist "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/a.aliases.bash" "${BASH_IT?}/enabled/350---a.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/350---a.aliases.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/b.aliases.bash" "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
ln -s "${BASH_IT?}/plugins/available/c.plugin.bash" "${BASH_IT?}/enabled/250---c.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/250---c.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/350---a.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/350---a.aliases.bash"
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/150---b.aliases.bash"
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/enabled/250---c.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---c.plugin.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
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 -n 0 "alias test_alias='a'"
|
||||
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 -n 0 "alias test_alias='a'"
|
||||
}
|
||||
|
||||
@test "bash-it: load global aliases and plugins in priority order, individual old directories are loaded later" {
|
||||
mkdir -p $BASH_IT/enabled
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
ln -s "${BASH_IT?}/plugins/available/base.plugin.bash" "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/a.aliases.bash" "${BASH_IT?}/enabled/350---a.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/350---a.aliases.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/b.aliases.bash" "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---b.aliases.bash"
|
||||
ln -s "${BASH_IT?}/plugins/available/c.plugin.bash" "${BASH_IT?}/enabled/250---c.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/250---c.plugin.bash"
|
||||
# Add one file in the old directory structure
|
||||
ln -s "${BASH_IT?}/aliases/available/b.aliases.bash" "${BASH_IT?}/aliases/enabled/150---b.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/aliases/enabled/150---b.aliases.bash"
|
||||
|
||||
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/350---a.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/350---a.aliases.bash"
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||
assert_link_exist "$BASH_IT/enabled/150---b.aliases.bash"
|
||||
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/enabled/250---c.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---c.plugin.bash"
|
||||
# Add one file in the old directory structure
|
||||
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/aliases/enabled/150---b.aliases.bash
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/150---b.aliases.bash"
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
|
||||
# The `test_alias` alias should not exist
|
||||
run alias test_alias &> /dev/null
|
||||
assert_failure
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
# This will be "b", loaded from the b aliases in the individual directory, since
|
||||
# the individual directories are loaded after the global one.
|
||||
assert_line -n 0 "alias test_alias='b'"
|
||||
run alias test_alias &> /dev/null
|
||||
assert_success
|
||||
# This will be "b", loaded from the b aliases in the individual directory, since
|
||||
# the individual directories are loaded after the global one.
|
||||
assert_line -n 0 "alias test_alias='b'"
|
||||
}
|
||||
|
||||
@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
|
||||
assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/enabled/250---base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/atom.aliases.bash" "${BASH_IT?}/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---atom.aliases.bash"
|
||||
ln -s "${BASH_IT?}/plugins/available/base.plugin.bash" "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
|
||||
# The `ah` alias should not exist
|
||||
run alias ah &> /dev/null
|
||||
assert_failure
|
||||
# The `ah` alias should not exist
|
||||
run alias ah &> /dev/null
|
||||
assert_failure
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
run alias ah &> /dev/null
|
||||
assert_success
|
||||
run alias ah &> /dev/null
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "bash-it: load enabled aliases from old structure, priority-based" {
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
mkdir -p $BASH_IT/plugins/enabled
|
||||
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/aliases/enabled/150---atom.aliases.bash
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/250---base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/250---base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/atom.aliases.bash" "${BASH_IT?}/aliases/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/aliases/enabled/150---atom.aliases.bash"
|
||||
ln -s "${BASH_IT?}/plugins/available/base.plugin.bash" "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/plugins/enabled/250---base.plugin.bash"
|
||||
|
||||
# The `ah` alias should not exist
|
||||
run alias ah &> /dev/null
|
||||
assert_failure
|
||||
# The `ah` alias should not exist
|
||||
run alias ah &> /dev/null
|
||||
assert_failure
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
run alias ah &> /dev/null
|
||||
assert_success
|
||||
run alias ah &> /dev/null
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "bash-it: load enabled aliases from old structure, without priorities" {
|
||||
mkdir -p $BASH_IT/aliases/enabled
|
||||
mkdir -p $BASH_IT/plugins/enabled
|
||||
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/aliases/enabled/atom.aliases.bash
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/plugins/enabled/base.plugin.bash
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/base.plugin.bash"
|
||||
ln -s "${BASH_IT?}/aliases/available/atom.aliases.bash" "${BASH_IT?}/aliases/enabled/atom.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/aliases/enabled/atom.aliases.bash"
|
||||
ln -s "${BASH_IT?}/plugins/available/base.plugin.bash" "${BASH_IT?}/plugins/enabled/base.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/plugins/enabled/base.plugin.bash"
|
||||
|
||||
# The `ah` alias should not exist
|
||||
run alias ah &> /dev/null
|
||||
assert_failure
|
||||
# The `ah` alias should not exist
|
||||
run alias ah &> /dev/null
|
||||
assert_failure
|
||||
|
||||
load "$BASH_IT/bash_it.sh"
|
||||
load "${BASH_IT?}/bash_it.sh"
|
||||
|
||||
run alias ah &> /dev/null
|
||||
assert_success
|
||||
run alias ah &> /dev/null
|
||||
assert_success
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,28 +3,28 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "helpers"
|
||||
# Load something, anything...
|
||||
load ../../completion/available/capistrano.completion
|
||||
setup_libs "helpers"
|
||||
# Load something, anything...
|
||||
load ../../completion/available/capistrano.completion
|
||||
}
|
||||
|
||||
@test "alias-completion: See that aliases with double quotes and brackets do not break the plugin" {
|
||||
alias gtest="git log --graph --pretty=format:'%C(bold)%h%Creset%C(magenta)%d%Creset %s %C(yellow)<%an> %C(cyan)(%cr)%Creset' --abbrev-commit --date=relative"
|
||||
run load "${BASH_IT?}/completion/available/aliases.completion.bash"
|
||||
alias gtest="git log --graph --pretty=format:'%C(bold)%h%Creset%C(magenta)%d%Creset %s %C(yellow)<%an> %C(cyan)(%cr)%Creset' --abbrev-commit --date=relative"
|
||||
run load "${BASH_IT?}/completion/available/aliases.completion.bash"
|
||||
|
||||
assert_success
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "alias-completion: See that aliases with single quotes and brackets do not break the plugin" {
|
||||
alias gtest='git log --graph --pretty=format:"%C(bold)%h%Creset%C(magenta)%d%Creset %s %C(yellow)<%an> %C(cyan)(%cr)%Creset" --abbrev-commit --date=relative'
|
||||
run load "${BASH_IT?}/completion/available/aliases.completion.bash"
|
||||
alias gtest='git log --graph --pretty=format:"%C(bold)%h%Creset%C(magenta)%d%Creset %s %C(yellow)<%an> %C(cyan)(%cr)%Creset" --abbrev-commit --date=relative'
|
||||
run load "${BASH_IT?}/completion/available/aliases.completion.bash"
|
||||
|
||||
assert_success
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "alias-completion: See that having aliased rm command does not output unnecessary output" {
|
||||
alias rm='rm -v'
|
||||
run load "${BASH_IT?}/completion/available/aliases.completion.bash"
|
||||
alias rm='rm -v'
|
||||
run load "${BASH_IT?}/completion/available/aliases.completion.bash"
|
||||
|
||||
refute_output
|
||||
assert_output ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,357 +3,361 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "helpers"
|
||||
load "${BASH_IT?}/completion/available/bash-it.completion.bash"
|
||||
setup_libs "helpers"
|
||||
load "${BASH_IT?}/completion/available/bash-it.completion.bash"
|
||||
}
|
||||
|
||||
@test "completion bash-it: ensure that the _bash-it function is available" {
|
||||
run type -t _bash-it
|
||||
assert_success
|
||||
assert_output "function"
|
||||
run type -t _bash-it
|
||||
assert_success
|
||||
assert_output "function"
|
||||
}
|
||||
|
||||
function __check_completion () {
|
||||
# Get the parameters as a single value
|
||||
COMP_LINE=$*
|
||||
function __check_completion() {
|
||||
# Get the parameters as a single value
|
||||
COMP_LINE=$*
|
||||
|
||||
# Get the parameters as an array
|
||||
eval set -- "$@"
|
||||
COMP_WORDS=("$@")
|
||||
# Get the parameters as an array
|
||||
# shellcheck disable=SC2294
|
||||
eval set -- "$@"
|
||||
COMP_WORDS=("$@")
|
||||
|
||||
# Index of the cursor in the line
|
||||
COMP_POINT=${#COMP_LINE}
|
||||
# Index of the cursor in the line
|
||||
COMP_POINT=${#COMP_LINE}
|
||||
|
||||
# Get the last character of the line that was entered
|
||||
COMP_LAST=$((${COMP_POINT} - 1))
|
||||
# Get the last character of the line that was entered
|
||||
COMP_LAST=$((COMP_POINT - 1))
|
||||
|
||||
# If the last character was a space...
|
||||
if [[ ${COMP_LINE:$COMP_LAST} = ' ' ]]; then
|
||||
# ...then add an empty array item
|
||||
COMP_WORDS+=('')
|
||||
fi
|
||||
# If the last character was a space...
|
||||
if [[ ${COMP_LINE:$COMP_LAST} = ' ' ]]; then
|
||||
# ...then add an empty array item
|
||||
COMP_WORDS+=('')
|
||||
fi
|
||||
|
||||
# Word index of the last word
|
||||
COMP_CWORD=$(( ${#COMP_WORDS[@]} - 1 ))
|
||||
# Word index of the last word
|
||||
COMP_CWORD=$((${#COMP_WORDS[@]} - 1))
|
||||
|
||||
# Run the Bash-it completion function
|
||||
_bash-it
|
||||
# Run the Bash-it completion function
|
||||
_bash-it
|
||||
|
||||
# Return the completion output
|
||||
echo "${COMPREPLY[@]}"
|
||||
# Return the completion output
|
||||
echo "${COMPREPLY[@]}"
|
||||
}
|
||||
|
||||
@test "completion bash-it: doctor - show options" {
|
||||
run __check_completion 'bash-it doctor '
|
||||
assert_line -n 0 "errors warnings all"
|
||||
run __check_completion 'bash-it doctor '
|
||||
assert_output "errors warnings all"
|
||||
}
|
||||
|
||||
@test "completion bash-it: help - show options" {
|
||||
run __check_completion 'bash-it help '
|
||||
assert_line -n 0 "aliases completions migrate plugins update"
|
||||
run __check_completion 'bash-it help '
|
||||
assert_output "aliases completions migrate plugins update"
|
||||
}
|
||||
|
||||
@test "completion bash-it: help - aliases v" {
|
||||
run __check_completion 'bash-it help aliases v'
|
||||
assert_line -n 0 "vagrant vault vim"
|
||||
run __check_completion 'bash-it help aliases v'
|
||||
assert_output "vagrant vault vim"
|
||||
}
|
||||
|
||||
@test "completion bash-it: update - show options" {
|
||||
run __check_completion 'bash-it update '
|
||||
assert_line -n 0 "stable dev"
|
||||
run __check_completion 'bash-it update '
|
||||
assert_output "stable dev"
|
||||
}
|
||||
|
||||
@test "completion bash-it: update - show optional flags" {
|
||||
run __check_completion 'bash-it update -'
|
||||
assert_line -n 0 "-s --silent"
|
||||
run __check_completion 'bash-it update -'
|
||||
assert_output "-s --silent"
|
||||
}
|
||||
|
||||
@test "completion bash-it: search - show no options" {
|
||||
run __check_completion 'bash-it search '
|
||||
assert_line -n 0 ""
|
||||
run __check_completion 'bash-it search '
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "completion bash-it: migrate - show no options" {
|
||||
run __check_completion 'bash-it migrate '
|
||||
assert_line -n 0 ""
|
||||
run __check_completion 'bash-it migrate '
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "completion bash-it: show options" {
|
||||
run __check_completion 'bash-it '
|
||||
assert_line -n 0 "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
run __check_completion 'bash-it '
|
||||
assert_output "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
}
|
||||
|
||||
@test "completion bash-it: bash-ti - show options" {
|
||||
run __check_completion 'bash-ti '
|
||||
assert_line -n 0 "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
run __check_completion 'bash-ti '
|
||||
assert_output "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
}
|
||||
|
||||
@test "completion bash-it: shit - show options" {
|
||||
run __check_completion 'shit '
|
||||
assert_line -n 0 "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
run __check_completion 'shit '
|
||||
assert_output "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
}
|
||||
|
||||
@test "completion bash-it: bashit - show options" {
|
||||
run __check_completion 'bashit '
|
||||
assert_line -n 0 "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
run __check_completion 'bashit '
|
||||
assert_output "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
}
|
||||
|
||||
@test "completion bash-it: batshit - show options" {
|
||||
run __check_completion 'batshit '
|
||||
assert_line -n 0 "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
run __check_completion 'batshit '
|
||||
assert_output "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
}
|
||||
|
||||
@test "completion bash-it: bash_it - show options" {
|
||||
run __check_completion 'bash_it '
|
||||
assert_line -n 0 "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
run __check_completion 'bash_it '
|
||||
assert_output "disable enable help migrate reload restart preview profile doctor search show update version"
|
||||
}
|
||||
|
||||
@test "completion bash-it: profile - show options" {
|
||||
run __check_completion 'bash-it profile '
|
||||
assert_line -n 0 "load save list rm"
|
||||
run __check_completion 'bash-it profile '
|
||||
assert_output "load save list rm"
|
||||
}
|
||||
|
||||
@test "completion bash-it: profile load - show options" {
|
||||
run __check_completion 'bash-it profile load '
|
||||
assert_line -n 0 "default"
|
||||
run __check_completion 'bash-it profile load '
|
||||
assert_output "default"
|
||||
}
|
||||
|
||||
@test "completion bash-it: show - show options" {
|
||||
run __check_completion 'bash-it show '
|
||||
assert_line -n 0 "aliases completions plugins"
|
||||
run __check_completion 'bash-it show '
|
||||
assert_output "aliases completions plugins"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - show options" {
|
||||
run __check_completion 'bash-it enable '
|
||||
assert_line -n 0 "alias completion plugin"
|
||||
run __check_completion 'bash-it enable '
|
||||
assert_output "alias completion plugin"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - show options a" {
|
||||
run __check_completion 'bash-it enable a'
|
||||
assert_line -n 0 "alias"
|
||||
run __check_completion 'bash-it enable a'
|
||||
assert_output "alias"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - show options" {
|
||||
run __check_completion 'bash-it disable '
|
||||
assert_line -n 0 "alias completion plugin"
|
||||
run __check_completion 'bash-it disable '
|
||||
assert_output "alias completion plugin"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - show options a" {
|
||||
run __check_completion 'bash-it disable a'
|
||||
assert_line -n 0 "alias"
|
||||
run __check_completion 'bash-it disable a'
|
||||
assert_output "alias"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide nothing when atom is not enabled" {
|
||||
run __check_completion 'bash-it disable alias ato'
|
||||
assert_line -n 0 ""
|
||||
run __check_completion 'bash-it disable alias ato'
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide all when atom is not enabled" {
|
||||
run __check_completion 'bash-it disable alias a'
|
||||
assert_line -n 0 "all"
|
||||
@test "completion bash-it: disable - provide 'all' when atom is not enabled" {
|
||||
run __check_completion 'bash-it disable alias a'
|
||||
assert_output "all"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the a* aliases when atom is enabled with the old location and name" {
|
||||
ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
|
||||
ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/completion/enabled/apm.completion.bash"
|
||||
assert_link_exist "$BASH_IT/completion/enabled/apm.completion.bash"
|
||||
run ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/completion/enabled/apm.completion.bash"
|
||||
assert_link_exist "$BASH_IT/completion/enabled/apm.completion.bash"
|
||||
|
||||
run __check_completion 'bash-it disable alias a'
|
||||
assert_line -n 0 "all atom"
|
||||
run _bash-it-component-item-is-enabled "alias" "atom"
|
||||
assert_success
|
||||
|
||||
run __check_completion 'bash-it disable alias a'
|
||||
assert_output "all atom"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the a* aliases when atom is enabled with the old location and priority-based name" {
|
||||
ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
|
||||
ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/completion/enabled/350---apm.completion.bash"
|
||||
assert_link_exist "$BASH_IT/completion/enabled/350---apm.completion.bash"
|
||||
run ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/completion/enabled/350---apm.completion.bash"
|
||||
assert_link_exist "$BASH_IT/completion/enabled/350---apm.completion.bash"
|
||||
|
||||
run __check_completion 'bash-it disable alias a'
|
||||
assert_line -n 0 "all atom"
|
||||
run __check_completion 'bash-it disable alias a'
|
||||
assert_output "all atom"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the a* aliases when atom is enabled with the new location and priority-based name" {
|
||||
ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
|
||||
ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/enabled/350---apm.completion.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---apm.completion.bash"
|
||||
run ln -s "$BASH_IT/completion/available/apm.completion.bash" "$BASH_IT/enabled/350---apm.completion.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---apm.completion.bash"
|
||||
|
||||
run __check_completion 'bash-it disable alias a'
|
||||
assert_line -n 0 "all atom"
|
||||
run __check_completion 'bash-it disable alias a'
|
||||
assert_output "all atom"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the old location and name" {
|
||||
ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
|
||||
ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/plugins/enabled/docker-machine.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/docker-machine.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/plugins/enabled/docker-machine.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/docker-machine.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it disable plugin docker'
|
||||
assert_line -n 0 "docker-machine"
|
||||
run __check_completion 'bash-it disable plugin docker'
|
||||
assert_output "docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the old location and priority-based name" {
|
||||
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 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"
|
||||
|
||||
ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/plugins/enabled/350---docker-machine.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/350---docker-machine.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/plugins/enabled/350---docker-machine.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/350---docker-machine.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it disable plugin docker'
|
||||
assert_line -n 0 "docker-machine"
|
||||
run __check_completion 'bash-it disable plugin docker'
|
||||
assert_output "docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the docker-machine plugin when docker-machine is enabled with the new location and priority-based name" {
|
||||
ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
|
||||
ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/enabled/350---docker-machine.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---docker-machine.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/docker-machine.plugin.bash" "$BASH_IT/enabled/350---docker-machine.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---docker-machine.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it disable plugin docker'
|
||||
assert_line -n 0 "docker-machine"
|
||||
run __check_completion 'bash-it disable plugin docker'
|
||||
assert_output "docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and name" {
|
||||
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 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"
|
||||
|
||||
ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/todo.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/todo.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it disable alias to'
|
||||
assert_line -n 0 "todo.txt-cli"
|
||||
run __check_completion 'bash-it disable alias to'
|
||||
assert_output "todo.txt-cli"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and priority-based name" {
|
||||
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 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"
|
||||
|
||||
ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it disable alias to'
|
||||
assert_line -n 0 "todo.txt-cli"
|
||||
run __check_completion 'bash-it disable alias to'
|
||||
assert_output "todo.txt-cli"
|
||||
}
|
||||
|
||||
@test "completion bash-it: disable - provide the todo.txt-cli aliases when todo plugin is enabled with the new location and priority-based name" {
|
||||
ln -s "$BASH_IT/aliases/available/todo.txt-cli.aliases.bash" "$BASH_IT/enabled/150---todo.txt-cli.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---todo.txt-cli.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/todo.txt-cli.aliases.bash" "$BASH_IT/enabled/150---todo.txt-cli.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---todo.txt-cli.aliases.bash"
|
||||
|
||||
ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/enabled/350---todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---todo.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/enabled/350---todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---todo.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it disable alias to'
|
||||
assert_line -n 0 "todo.txt-cli"
|
||||
run __check_completion 'bash-it disable alias to'
|
||||
assert_output "todo.txt-cli"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the atom aliases when not enabled" {
|
||||
run __check_completion 'bash-it enable alias ato'
|
||||
assert_line -n 0 "atom"
|
||||
run __check_completion 'bash-it enable alias ato'
|
||||
assert_output "atom"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the a* aliases when not enabled" {
|
||||
run __check_completion 'bash-it enable alias a'
|
||||
assert_line -n 0 "all ag ansible apt atom"
|
||||
run __check_completion 'bash-it enable alias a'
|
||||
assert_output "all ag ansible apt atom"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the a* aliases when atom is enabled with the old location and name" {
|
||||
ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/atom.aliases.bash"
|
||||
|
||||
run __check_completion 'bash-it enable alias a'
|
||||
assert_line -n 0 "all ag ansible apt"
|
||||
run __check_completion 'bash-it enable alias a'
|
||||
assert_output "all ag ansible apt"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the a* aliases when atom is enabled with the old location and priority-based name" {
|
||||
ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/150---atom.aliases.bash"
|
||||
|
||||
run __check_completion 'bash-it enable alias a'
|
||||
assert_line -n 0 "all ag ansible apt"
|
||||
run __check_completion 'bash-it enable alias a'
|
||||
assert_output "all ag ansible apt"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the a* aliases when atom is enabled with the new location and priority-based name" {
|
||||
ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/atom.aliases.bash" "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---atom.aliases.bash"
|
||||
|
||||
run __check_completion 'bash-it enable alias a'
|
||||
assert_line -n 0 "all ag ansible apt"
|
||||
run __check_completion 'bash-it enable alias a'
|
||||
assert_output "all ag ansible apt"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the docker* plugins when docker-compose is enabled with the old location and name" {
|
||||
ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
|
||||
run __check_completion 'bash-it enable plugin docker'
|
||||
assert_line -n 0 "docker docker-compose docker-machine"
|
||||
run __check_completion 'bash-it enable plugin docker'
|
||||
assert_output "docker docker-compose docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the docker-* plugins when docker-compose is enabled with the old location and priority-based name" {
|
||||
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 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 __check_completion 'bash-it enable plugin docker'
|
||||
assert_line -n 0 "docker docker-compose docker-machine"
|
||||
run __check_completion 'bash-it enable plugin docker'
|
||||
assert_output "docker docker-compose docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the docker-* plugins when docker-compose is enabled with the new location and priority-based name" {
|
||||
ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
|
||||
run __check_completion 'bash-it enable plugin docker'
|
||||
assert_line -n 0 "docker docker-compose docker-machine"
|
||||
run __check_completion 'bash-it enable plugin docker'
|
||||
assert_output "docker docker-compose docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the docker* completions when docker-compose is enabled with the old location and name" {
|
||||
ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/aliases/enabled/docker-compose.aliases.bash"
|
||||
|
||||
run __check_completion 'bash-it enable completion docker'
|
||||
assert_line -n 0 "docker docker-compose docker-machine"
|
||||
run __check_completion 'bash-it enable completion docker'
|
||||
assert_output "docker docker-compose docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the docker* completions when docker-compose is enabled with the old location and priority-based name" {
|
||||
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 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 __check_completion 'bash-it enable completion docker'
|
||||
assert_line -n 0 "docker docker-compose docker-machine"
|
||||
run __check_completion 'bash-it enable completion docker'
|
||||
assert_output "docker docker-compose docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the docker* completions when docker-compose is enabled with the new location and priority-based name" {
|
||||
ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
run ln -s "$BASH_IT/aliases/available/docker-compose.aliases.bash" "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/150---docker-compose.aliases.bash"
|
||||
|
||||
run __check_completion 'bash-it enable completion docker'
|
||||
assert_line -n 0 "docker docker-compose docker-machine"
|
||||
run __check_completion 'bash-it enable completion docker'
|
||||
assert_output "docker docker-compose docker-machine"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and name" {
|
||||
ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/todo.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/todo.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it enable alias to'
|
||||
assert_line -n 0 "todo.txt-cli"
|
||||
run __check_completion 'bash-it enable alias to'
|
||||
assert_output "todo.txt-cli"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the old location and priority-based name" {
|
||||
ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/plugins/enabled/350---todo.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it enable alias to'
|
||||
assert_line -n 0 "todo.txt-cli"
|
||||
run __check_completion 'bash-it enable alias to'
|
||||
assert_output "todo.txt-cli"
|
||||
}
|
||||
|
||||
@test "completion bash-it: enable - provide the todo.txt-cli aliases when todo plugin is enabled with the new location and priority-based name" {
|
||||
ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/enabled/350---todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---todo.plugin.bash"
|
||||
run ln -s "$BASH_IT/plugins/available/todo.plugin.bash" "$BASH_IT/enabled/350---todo.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---todo.plugin.bash"
|
||||
|
||||
run __check_completion 'bash-it enable alias to'
|
||||
assert_line -n 0 "todo.txt-cli"
|
||||
run __check_completion 'bash-it enable alias to'
|
||||
assert_output "todo.txt-cli"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
alias test_alias="a"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
alias test_alias="b"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
# shellcheck shell=bash
|
||||
|
||||
alias test_alias="c"
|
||||
|
|
|
|||
|
|
@ -3,86 +3,87 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup() {
|
||||
export HOME="$BATS_TEST_TMPDIR"
|
||||
export HOME="${BATS_TEST_TMPDIR?}"
|
||||
}
|
||||
|
||||
function local_setup_file() {
|
||||
# Determine which config file to use based on OS.
|
||||
case $OSTYPE in
|
||||
darwin*)
|
||||
export BASH_IT_CONFIG_FILE=.bash_profile
|
||||
;;
|
||||
*)
|
||||
export BASH_IT_CONFIG_FILE=.bashrc
|
||||
;;
|
||||
esac
|
||||
# don't load any libraries as the tests here test the *whole* kit
|
||||
# Determine which config file to use based on OS.
|
||||
case $OSTYPE in
|
||||
darwin*)
|
||||
export BASH_IT_CONFIG_FILE=.bash_profile
|
||||
;;
|
||||
*)
|
||||
export BASH_IT_CONFIG_FILE=.bashrc
|
||||
;;
|
||||
esac
|
||||
# don't load any libraries as the tests here test the *whole* kit
|
||||
}
|
||||
|
||||
@test "install: verify that the install script exists" {
|
||||
assert_file_exist "$BASH_IT/install.sh"
|
||||
assert_file_exist "${BASH_IT?}/install.sh"
|
||||
}
|
||||
|
||||
@test "install: run the install script silently" {
|
||||
cd "$BASH_IT"
|
||||
cd "$BASH_IT"
|
||||
|
||||
./install.sh --silent
|
||||
./install.sh --silent
|
||||
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
|
||||
assert_link_exist "$BASH_IT/enabled/150---general.aliases.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/250---base.plugin.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/800---aliases.completion.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/350---bash-it.completion.bash"
|
||||
assert_link_exist "$BASH_IT/enabled/325---system.completion.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/150---general.aliases.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/250---base.plugin.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/800---aliases.completion.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/350---bash-it.completion.bash"
|
||||
assert_link_exist "${BASH_IT?}/enabled/325---system.completion.bash"
|
||||
}
|
||||
|
||||
@test "install: verify that a backup file is created" {
|
||||
cd "$BASH_IT"
|
||||
local md5_orig md5_bak
|
||||
cd "${BASH_IT?}"
|
||||
|
||||
touch "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
echo "test file content" > "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
local md5_orig=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE" | awk '{print $1}')
|
||||
touch "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
echo "test file content" > "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
md5_orig=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE" | awk '{print $1}')
|
||||
|
||||
./install.sh --silent
|
||||
./install.sh --silent
|
||||
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
|
||||
local md5_bak=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE.bak" | awk '{print $1}')
|
||||
md5_bak=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE.bak" | awk '{print $1}')
|
||||
|
||||
assert_equal "$md5_orig" "$md5_bak"
|
||||
assert_equal "$md5_orig" "$md5_bak"
|
||||
}
|
||||
|
||||
@test "install: verify that silent and interactive can not be used at the same time" {
|
||||
cd "$BASH_IT"
|
||||
cd "$BASH_IT"
|
||||
|
||||
run ./install.sh --silent --interactive
|
||||
run ./install.sh --silent --interactive
|
||||
|
||||
assert_failure
|
||||
assert_failure
|
||||
}
|
||||
|
||||
@test "install: verify that no-modify-config and append-to-config can not be used at the same time" {
|
||||
cd "$BASH_IT"
|
||||
cd "$BASH_IT"
|
||||
|
||||
run ./install.sh --silent --no-modify-config --append-to-config
|
||||
run ./install.sh --silent --no-modify-config --append-to-config
|
||||
|
||||
assert_failure
|
||||
assert_failure
|
||||
}
|
||||
|
||||
@test "install: verify that the template is appended" {
|
||||
cd "$BASH_IT"
|
||||
cd "$BASH_IT"
|
||||
|
||||
touch "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
echo "test file content" > "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
touch "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
echo "test file content" > "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
|
||||
./install.sh --silent --append-to-config
|
||||
./install.sh --silent --append-to-config
|
||||
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
|
||||
run cat "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
run cat "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
|
||||
assert_line "test file content"
|
||||
assert_line "source \"\$BASH_IT\"/bash_it.sh"
|
||||
assert_line "test file content"
|
||||
assert_line "source \"\$BASH_IT\"/bash_it.sh"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,59 +3,61 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup() {
|
||||
export HOME="$BATS_TEST_TMPDIR"
|
||||
export HOME="${BATS_TEST_TMPDIR?}"
|
||||
}
|
||||
|
||||
function local_setup_file() {
|
||||
# Determine which config file to use based on OS.
|
||||
case $OSTYPE in
|
||||
darwin*)
|
||||
export BASH_IT_CONFIG_FILE=.bash_profile
|
||||
;;
|
||||
*)
|
||||
export BASH_IT_CONFIG_FILE=.bashrc
|
||||
;;
|
||||
esac
|
||||
# don't load any libraries as the tests here test the *whole* kit
|
||||
# Determine which config file to use based on OS.
|
||||
case $OSTYPE in
|
||||
darwin*)
|
||||
export BASH_IT_CONFIG_FILE=.bash_profile
|
||||
;;
|
||||
*)
|
||||
export BASH_IT_CONFIG_FILE=.bashrc
|
||||
;;
|
||||
esac
|
||||
# don't load any libraries as the tests here test the *whole* kit
|
||||
}
|
||||
|
||||
@test "uninstall: verify that the uninstall script exists" {
|
||||
assert_file_exist "$BASH_IT/uninstall.sh"
|
||||
assert_file_exist "${BASH_IT?}/uninstall.sh"
|
||||
}
|
||||
|
||||
@test "uninstall: run the uninstall script with an existing backup file" {
|
||||
cd "$BASH_IT"
|
||||
local md5_bak md5_conf
|
||||
cd "${BASH_IT?}"
|
||||
|
||||
echo "test file content for backup" > "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
echo "test file content for original file" > "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
local md5_bak=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE.bak" | awk '{print $1}')
|
||||
echo "test file content for backup" > "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
echo "test file content for original file" > "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
md5_bak=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE.bak" | awk '{print $1}')
|
||||
|
||||
run ./uninstall.sh
|
||||
assert_success
|
||||
run ./uninstall.sh
|
||||
assert_success
|
||||
|
||||
assert_file_not_exist "$HOME/$BASH_IT_CONFIG_FILE.uninstall"
|
||||
assert_file_not_exist "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
assert_file_not_exist "$HOME/$BASH_IT_CONFIG_FILE.uninstall"
|
||||
assert_file_not_exist "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
|
||||
local md5_conf=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE" | awk '{print $1}')
|
||||
md5_conf=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE" | awk '{print $1}')
|
||||
|
||||
assert_equal "$md5_bak" "$md5_conf"
|
||||
assert_equal "$md5_bak" "$md5_conf"
|
||||
}
|
||||
|
||||
@test "uninstall: run the uninstall script without an existing backup file" {
|
||||
cd "$BASH_IT"
|
||||
local md5_orig md5_uninstall
|
||||
cd "${BASH_IT?}"
|
||||
|
||||
echo "test file content for original file" > "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
local md5_orig=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE" | awk '{print $1}')
|
||||
echo "test file content for original file" > "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
md5_orig=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE" | awk '{print $1}')
|
||||
|
||||
run ./uninstall.sh
|
||||
assert_success
|
||||
run ./uninstall.sh
|
||||
assert_success
|
||||
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE.uninstall"
|
||||
assert_file_not_exist "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
assert_file_not_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
assert_file_exist "$HOME/$BASH_IT_CONFIG_FILE.uninstall"
|
||||
assert_file_not_exist "$HOME/$BASH_IT_CONFIG_FILE.bak"
|
||||
assert_file_not_exist "$HOME/$BASH_IT_CONFIG_FILE"
|
||||
|
||||
local md5_uninstall=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE.uninstall" | awk '{print $1}')
|
||||
md5_uninstall=$(md5sum "$HOME/$BASH_IT_CONFIG_FILE.uninstall" | awk '{print $1}')
|
||||
|
||||
assert_equal "$md5_orig" "$md5_uninstall"
|
||||
assert_equal "$md5_orig" "$md5_uninstall"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
true
|
||||
# don't load any libraries as the tests here test the *whole* kit
|
||||
true
|
||||
# don't load any libraries as the tests here test the *whole* kit
|
||||
}
|
||||
|
||||
@test "lib composure: _composure_keywords()" {
|
||||
run _composure_keywords
|
||||
assert_output "about author example group param version"
|
||||
run _composure_keywords
|
||||
assert_output "about author example group param version"
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,84 +1,84 @@
|
|||
# shellcheck shell=bats
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "log"
|
||||
setup_libs "log"
|
||||
}
|
||||
|
||||
@test "lib log: basic debug logging with BASH_IT_LOG_LEVEL_ALL" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ALL
|
||||
run _log_debug "test test test"
|
||||
assert_output "DEBUG: default: test test test"
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_ALL?}
|
||||
run _log_debug "test test test"
|
||||
assert_output "DEBUG: default: test test test"
|
||||
}
|
||||
|
||||
@test "lib log: basic warning logging with BASH_IT_LOG_LEVEL_ALL" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ALL
|
||||
run _log_warning "test test test"
|
||||
assert_output " WARN: default: test test test"
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_ALL?}
|
||||
run _log_warning "test test test"
|
||||
assert_output " WARN: default: test test test"
|
||||
}
|
||||
|
||||
@test "lib log: basic error logging with BASH_IT_LOG_LEVEL_ALL" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ALL
|
||||
run _log_error "test test test"
|
||||
assert_output "ERROR: default: test test test"
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_ALL?}
|
||||
run _log_error "test test test"
|
||||
assert_output "ERROR: default: test test test"
|
||||
}
|
||||
|
||||
@test "lib log: basic debug logging with BASH_IT_LOG_LEVEL_WARNING" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_WARNING
|
||||
run _log_debug "test test test"
|
||||
refute_output
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_WARNING?}
|
||||
run _log_debug "test test test"
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "lib log: basic warning logging with BASH_IT_LOG_LEVEL_WARNING" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_WARNING
|
||||
run _log_warning "test test test"
|
||||
assert_output " WARN: default: test test test"
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_WARNING?}
|
||||
run _log_warning "test test test"
|
||||
assert_output " WARN: default: test test test"
|
||||
}
|
||||
|
||||
@test "lib log: basic error logging with BASH_IT_LOG_LEVEL_WARNING" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_WARNING
|
||||
run _log_error "test test test"
|
||||
assert_output "ERROR: default: test test test"
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_WARNING?}
|
||||
run _log_error "test test test"
|
||||
assert_output "ERROR: default: test test test"
|
||||
}
|
||||
|
||||
|
||||
@test "lib log: basic debug logging with BASH_IT_LOG_LEVEL_ERROR" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ERROR
|
||||
run _log_debug "test test test"
|
||||
refute_output
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_ERROR?}
|
||||
run _log_debug "test test test"
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "lib log: basic warning logging with BASH_IT_LOG_LEVEL_ERROR" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ERROR
|
||||
run _log_warning "test test test"
|
||||
refute_output
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_ERROR?}
|
||||
run _log_warning "test test test"
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "lib log: basic error logging with BASH_IT_LOG_LEVEL_ERROR" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ERROR
|
||||
run _log_error "test test test"
|
||||
assert_output "ERROR: default: test test test"
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_ERROR?}
|
||||
run _log_error "test test test"
|
||||
assert_output "ERROR: default: test test test"
|
||||
}
|
||||
|
||||
@test "lib log: basic debug silent logging" {
|
||||
run _log_debug "test test test"
|
||||
refute_output
|
||||
run _log_debug "test test test"
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "lib log: basic warning silent logging" {
|
||||
run _log_warning "test test test"
|
||||
refute_output
|
||||
run _log_warning "test test test"
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "lib log: basic error silent logging" {
|
||||
run _log_error "test test test"
|
||||
refute_output
|
||||
run _log_error "test test test"
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test "lib log: logging with prefix" {
|
||||
BASH_IT_LOG_LEVEL=$BASH_IT_LOG_LEVEL_ALL
|
||||
BASH_IT_LOG_PREFIX="nice: prefix: "
|
||||
run _log_debug "test test test"
|
||||
assert_output "DEBUG: nice: prefix: test test test"
|
||||
BASH_IT_LOG_LEVEL=${BASH_IT_LOG_LEVEL_ALL?}
|
||||
BASH_IT_LOG_PREFIX="nice: prefix: "
|
||||
run _log_debug "test test test"
|
||||
assert_output "DEBUG: nice: prefix: test test test"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
# shellcheck shell=bats
|
||||
# shellcheck disable=SC2030 disable=SC2031
|
||||
|
||||
load ../test_helper
|
||||
|
||||
|
|
@ -11,8 +12,9 @@ function local_setup {
|
|||
test_prompt_string=""
|
||||
export PROMPT_COMMAND="$test_prompt_string"
|
||||
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
run load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
assert_success
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
|
||||
assert_equal "${PROMPT_COMMAND}" $'__bp_trap_string="$(trap -p DEBUG)"\ntrap - DEBUG\n__bp_install'
|
||||
}
|
||||
|
|
@ -21,8 +23,9 @@ function local_setup {
|
|||
test_prompt_string="nah"
|
||||
export PROMPT_COMMAND="$test_prompt_string"
|
||||
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
run load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
assert_success
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
|
||||
assert_equal "${PROMPT_COMMAND}" "$test_prompt_string"$'\n__bp_trap_string="$(trap -p DEBUG)"\ntrap - DEBUG\n__bp_install'
|
||||
}
|
||||
|
|
@ -32,8 +35,9 @@ function local_setup {
|
|||
export PROMPT_COMMAND="$test_prompt_string"
|
||||
export __bp_delay_install="blarg"
|
||||
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
run load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
assert_success
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
|
||||
assert_equal "${PROMPT_COMMAND}" "$test_prompt_string"
|
||||
|
||||
|
|
@ -48,8 +52,9 @@ function local_setup {
|
|||
test_prompt_string=""
|
||||
export PROMPT_COMMAND="$test_prompt_string"
|
||||
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
run load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
assert_success
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
|
||||
run __bp_install
|
||||
assert_success
|
||||
|
|
@ -62,8 +67,9 @@ function local_setup {
|
|||
test_prompt_string="nah"
|
||||
export PROMPT_COMMAND="$test_prompt_string"
|
||||
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
run load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
assert_success
|
||||
load ../../vendor/github.com/rcaloras/bash-preexec/bash-preexec.sh
|
||||
|
||||
run __bp_install
|
||||
assert_success
|
||||
|
|
|
|||
|
|
@ -3,66 +3,90 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "search"
|
||||
setup_libs "search"
|
||||
}
|
||||
|
||||
function local_setup() {
|
||||
# shellcheck disable=SC2034
|
||||
BASH_IT_SEARCH_USE_COLOR=false
|
||||
# shellcheck disable=SC2034
|
||||
BASH_IT_SEARCH_USE_COLOR=false
|
||||
}
|
||||
|
||||
@test "search: plugin base" {
|
||||
export BASH_IT_SEARCH_USE_COLOR=false
|
||||
run _bash-it-search-component 'plugins' 'base'
|
||||
assert_line -n 0 ' plugins: base '
|
||||
run _bash-it-search-component 'plugins' 'base'
|
||||
assert_success
|
||||
assert_line -n 0 ' plugins: base '
|
||||
}
|
||||
|
||||
@test "search: git" {
|
||||
run _bash-it-search 'git' --no-color
|
||||
assert_line -n 0 ' aliases: git gitsvn '
|
||||
assert_line -n 1 -p ' plugins:'
|
||||
for plugin in "autojump" "git" "gitstatus" "git-subrepo" "jgitflow" "jump"
|
||||
do
|
||||
echo $plugin
|
||||
assert_line -n 1 -p $plugin
|
||||
done
|
||||
assert_line -n 2 ' completions: git git_flow git_flow_avh github-cli '
|
||||
local plugin completion
|
||||
run _bash-it-search 'git' --no-color
|
||||
assert_success
|
||||
assert_line -n 0 ' aliases: git gitsvn '
|
||||
assert_line -n 1 -p ' plugins:'
|
||||
for plugin in "autojump" "git" "gitstatus" "git-subrepo" "jgitflow" "jump"; do
|
||||
assert_line -n 1 -p "$plugin"
|
||||
done
|
||||
for completion in "git" "git_flow" "git_flow_avh" "github-cli"; do
|
||||
assert_line -n 2 -p "$completion"
|
||||
done
|
||||
}
|
||||
|
||||
@test "search: ruby gem bundle rake rails" {
|
||||
run _bash-it-search rails ruby gem bundler rake --no-color
|
||||
run _bash-it-search rails ruby gem bundler rake --no-color
|
||||
assert_success
|
||||
|
||||
assert_line -n 0 ' aliases: bundler rails '
|
||||
assert_line -n 1 ' plugins: chruby chruby-auto rails ruby '
|
||||
assert_line -n 2 ' completions: bundler gem rake '
|
||||
assert_line -n 0 ' aliases: bundler rails '
|
||||
assert_line -n 1 ' plugins: chruby chruby-auto rails ruby '
|
||||
assert_line -n 2 ' completions: bundler gem rake '
|
||||
}
|
||||
|
||||
@test "search: rails ruby gem bundler rake -chruby" {
|
||||
run _bash-it-search rails ruby gem bundler rake -chruby --no-color
|
||||
run _bash-it-search rails ruby gem bundler rake -chruby --no-color
|
||||
assert_success
|
||||
|
||||
assert_line -n 0 ' aliases: bundler rails '
|
||||
assert_line -n 1 ' plugins: rails ruby '
|
||||
assert_line -n 2 ' completions: bundler gem rake '
|
||||
assert_line -n 0 ' aliases: bundler rails '
|
||||
assert_line -n 1 ' plugins: rails ruby '
|
||||
assert_line -n 2 ' completions: bundler gem rake '
|
||||
}
|
||||
|
||||
@test "search: @git" {
|
||||
run _bash-it-search '@git' --no-color
|
||||
assert_line -n 0 ' aliases: git '
|
||||
assert_line -n 1 ' plugins: git '
|
||||
assert_line -n 2 ' completions: git '
|
||||
run _bash-it-search '@git' --no-color
|
||||
assert_success
|
||||
assert_line -n 0 ' aliases: git '
|
||||
assert_line -n 1 ' plugins: git '
|
||||
assert_line -n 2 ' completions: git '
|
||||
}
|
||||
|
||||
@test "search: @git --enable / --disable" {
|
||||
set -e
|
||||
run _bash-it-search '@git' --enable --no-color
|
||||
run _bash-it-search '@git' --no-color
|
||||
@test "search: @git --enable / --disable" {
|
||||
run _bash-it-search '@git' --enable --no-color
|
||||
assert_success
|
||||
run _bash-it-search '@git' --no-color
|
||||
assert_success
|
||||
assert_line -n 0 -p '✓'
|
||||
|
||||
[[ "${lines[0]}" =~ '✓' ]]
|
||||
run _bash-it-search '@git' --disable --no-color
|
||||
assert_success
|
||||
run _bash-it-search '@git' --no-color
|
||||
assert_success
|
||||
|
||||
run _bash-it-search '@git' --disable --no-color
|
||||
run _bash-it-search '@git' --no-color
|
||||
|
||||
assert_line -n 0 ' aliases: git '
|
||||
assert_line -n 1 ' plugins: git '
|
||||
assert_line -n 2 ' completions: git '
|
||||
assert_line -n 0 ' aliases: git '
|
||||
assert_line -n 1 ' plugins: git '
|
||||
assert_line -n 2 ' completions: git '
|
||||
}
|
||||
|
||||
@test "search: @git --disable / --enable" {
|
||||
run _bash-it-search '@git' --disable --no-color
|
||||
assert_success
|
||||
run _bash-it-search '@git' --no-color
|
||||
assert_success
|
||||
|
||||
assert_line -n 0 ' aliases: git '
|
||||
assert_line -n 1 ' plugins: git '
|
||||
assert_line -n 2 ' completions: git '
|
||||
|
||||
run _bash-it-search '@git' --enable --no-color
|
||||
assert_success
|
||||
run _bash-it-search '@git' --no-color
|
||||
assert_success
|
||||
assert_line -n 0 -p '✓'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,81 +3,81 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "helpers"
|
||||
setup_libs "helpers"
|
||||
}
|
||||
|
||||
@test "_bash-it-component-item-is-enabled() - for a disabled item" {
|
||||
run _bash-it-component-item-is-enabled aliases svn
|
||||
assert_failure
|
||||
run _bash-it-component-item-is-enabled aliases svn
|
||||
assert_failure
|
||||
}
|
||||
|
||||
@test "_bash-it-component-item-is-enabled() - for an enabled/disabled item" {
|
||||
run bash-it enable alias svn
|
||||
assert_line -n 0 'svn enabled with priority 150.'
|
||||
run bash-it enable alias svn
|
||||
assert_line -n 0 'svn enabled with priority 150.'
|
||||
|
||||
run _bash-it-component-item-is-enabled alias svn
|
||||
assert_success
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_failure
|
||||
run _bash-it-component-item-is-enabled alias svn
|
||||
assert_success
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_failure
|
||||
|
||||
run bash-it disable alias svn
|
||||
assert_line -n 0 'svn disabled.'
|
||||
run bash-it disable alias svn
|
||||
assert_line -n 0 'svn disabled.'
|
||||
|
||||
run _bash-it-component-item-is-enabled alias svn
|
||||
assert_failure
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_success
|
||||
run _bash-it-component-item-is-enabled alias svn
|
||||
assert_failure
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "_bash-it-component-item-is-disabled() - for a disabled item" {
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_success
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "_bash-it-component-item-is-disabled() - for an enabled/disabled item" {
|
||||
run bash-it enable alias svn
|
||||
assert_line -n 0 'svn enabled with priority 150.'
|
||||
run bash-it enable alias svn
|
||||
assert_line -n 0 'svn enabled with priority 150.'
|
||||
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_failure
|
||||
run _bash-it-component-item-is-enabled alias svn
|
||||
assert_success
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_failure
|
||||
run _bash-it-component-item-is-enabled alias svn
|
||||
assert_success
|
||||
|
||||
run bash-it disable alias svn
|
||||
assert_line -n 0 'svn disabled.'
|
||||
run bash-it disable alias svn
|
||||
assert_line -n 0 'svn disabled.'
|
||||
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_success
|
||||
run _bash-it-component-item-is-enabled alias svn
|
||||
assert_failure
|
||||
run _bash-it-component-item-is-disabled alias svn
|
||||
assert_success
|
||||
run _bash-it-component-item-is-enabled alias svn
|
||||
assert_failure
|
||||
}
|
||||
|
||||
@test "_bash-it-array-contains-element() - when match is found, and is the first" {
|
||||
declare -a fruits=(apple pear orange mandarin)
|
||||
run _bash-it-array-contains-element apple "${fruits[@]}"
|
||||
assert_success
|
||||
declare -a fruits=(apple pear orange mandarin)
|
||||
run _bash-it-array-contains-element apple "${fruits[@]}"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "_bash-it-array-contains-element() - when match is found, and is the last" {
|
||||
declare -a fruits=(apple pear orange mandarin)
|
||||
run _bash-it-array-contains-element mandarin "${fruits[@]}"
|
||||
assert_success
|
||||
declare -a fruits=(apple pear orange mandarin)
|
||||
run _bash-it-array-contains-element mandarin "${fruits[@]}"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "_bash-it-array-contains-element() - when match is found, and is in the middle" {
|
||||
declare -a fruits=(apple pear orange mandarin)
|
||||
run _bash-it-array-contains-element pear "${fruits[@]}"
|
||||
assert_success
|
||||
declare -a fruits=(apple pear orange mandarin)
|
||||
run _bash-it-array-contains-element pear "${fruits[@]}"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "_bash-it-array-contains-element() - when match is found, and it has spaces" {
|
||||
declare -a fruits=(apple pear orange mandarin "yellow watermelon")
|
||||
run _bash-it-array-contains-element "yellow watermelon" "${fruits[@]}"
|
||||
assert_success
|
||||
declare -a fruits=(apple pear orange mandarin "yellow watermelon")
|
||||
run _bash-it-array-contains-element "yellow watermelon" "${fruits[@]}"
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "_bash-it-array-contains-element() - when match is not found" {
|
||||
declare -a fruits=(apple pear orange mandarin)
|
||||
run _bash-it-array-contains-element xyz "${fruits[@]}"
|
||||
assert_failure
|
||||
declare -a fruits=(apple pear orange mandarin)
|
||||
run _bash-it-array-contains-element xyz "${fruits[@]}"
|
||||
assert_failure
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,74 +3,76 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "helpers"
|
||||
load "${BASH_IT?}/plugins/available/base.plugin.bash"
|
||||
setup_libs "helpers"
|
||||
load "${BASH_IT?}/plugins/available/base.plugin.bash"
|
||||
}
|
||||
|
||||
@test 'plugins base: ips()' {
|
||||
declare -r localhost='127.0.0.1'
|
||||
run ips
|
||||
assert_success
|
||||
assert_line $localhost
|
||||
readonly localhost='127.0.0.1'
|
||||
run ips
|
||||
assert_success
|
||||
assert_line "$localhost"
|
||||
}
|
||||
|
||||
@test 'plugins base: myip()' {
|
||||
run myip
|
||||
assert_success
|
||||
declare -r mask_ip=$(echo $output | tr -s '[0-9]' '?')
|
||||
[[ $mask_ip == 'Your public IP is:'*'?.?.?.?'* ]]
|
||||
local mask_ip
|
||||
run myip
|
||||
assert_success
|
||||
shopt -s extglob
|
||||
mask_ip="${output//+([[:digit:]]|[[:digit:]][[:digit:]]|[[:digit:]][[:digit:]][[:digit:]])/?}" #$(echo "$output" | tr -s '0-9' '?')
|
||||
[[ $mask_ip == 'Your public IP is: ?.?.?.? ' ]]
|
||||
}
|
||||
|
||||
@test 'plugins base: pickfrom()' {
|
||||
stub_file="${BATS_TEST_TMPDIR}/stub_file"
|
||||
printf "l1\nl2\nl3" > $stub_file
|
||||
run pickfrom $stub_file
|
||||
assert_success
|
||||
[[ $output == l? ]]
|
||||
stub_file="${BATS_TEST_TMPDIR?}/stub_file"
|
||||
printf "l1\nl2\nl3" > "$stub_file"
|
||||
run pickfrom "$stub_file"
|
||||
assert_success
|
||||
[[ $output == l? ]]
|
||||
}
|
||||
|
||||
@test 'plugins base: mkcd()' {
|
||||
cd "${BATS_TEST_TMPDIR}"
|
||||
declare -r dir_name="-dir_with_dash"
|
||||
cd "${BATS_TEST_TMPDIR?}"
|
||||
declare -r dir_name="-dir_with_dash"
|
||||
|
||||
# Make sure that the directory does not exist prior to the test
|
||||
rm -rf "${BATS_TEST_TMPDIR}/${dir_name}"
|
||||
# Make sure that the directory does not exist prior to the test
|
||||
rm -rf "${BATS_TEST_TMPDIR:?}/${dir_name}"
|
||||
|
||||
run mkcd "${dir_name}"
|
||||
assert_success
|
||||
assert_dir_exist "${BATS_TEST_TMPDIR}/${dir_name}"
|
||||
run mkcd "${dir_name}"
|
||||
assert_success
|
||||
assert_dir_exist "${BATS_TEST_TMPDIR?}/${dir_name}"
|
||||
|
||||
mkcd "${dir_name}"
|
||||
assert_equal "${PWD}" "${BATS_TEST_TMPDIR//\/\///}/${dir_name}"
|
||||
mkcd "${dir_name}"
|
||||
assert_equal "${PWD}" "${BATS_TEST_TMPDIR//\/\///}/${dir_name}"
|
||||
}
|
||||
|
||||
@test 'plugins base: lsgrep()' {
|
||||
for i in 1 2 3; do mkdir -p "${BASH_IT}/${i}"; done
|
||||
cd $BASH_IT
|
||||
run lsgrep 2
|
||||
assert_success
|
||||
assert_equal $output 2
|
||||
for i in 1 2 3; do mkdir -p "${BASH_IT}/${i}"; done
|
||||
cd "${BASH_IT?}"
|
||||
run lsgrep 2
|
||||
assert_success
|
||||
assert_equal "$output" 2
|
||||
}
|
||||
|
||||
@test 'plugins base: buf()' {
|
||||
declare -r file="${BATS_TEST_TMPDIR}/file"
|
||||
touch $file
|
||||
declare -r file="${BATS_TEST_TMPDIR?}/file"
|
||||
touch "$file"
|
||||
|
||||
# Take one timestamp before running the `buf` function
|
||||
declare -r stamp1=$(date +%Y%m%d_%H%M%S)
|
||||
# Take one timestamp before running the `buf` function
|
||||
declare -r stamp1=$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
run buf $file
|
||||
run buf "$file"
|
||||
|
||||
# Take another timestamp after running `buf`.
|
||||
declare -r stamp2=$(date +%Y%m%d_%H%M%S)
|
||||
# Take another timestamp after running `buf`.
|
||||
declare -r stamp2=$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
# Verify that the backup file ends with one of the two timestamps.
|
||||
# This is done to avoid race conditions where buf is run close to the end
|
||||
# of a second, in which case the second timestamp might be in the next second,
|
||||
# causing the test to fail.
|
||||
# By using `or` for the two checks, we can verify that one of the two files is present.
|
||||
# In most cases, it's going to have the same timestamp anyway.
|
||||
# We can't use `assert_file_exist` here, since it only checks for a single file name.
|
||||
assert [ -e "${file}_${stamp1}" \
|
||||
-o -e "${file}_${stamp2}" ]
|
||||
# Verify that the backup file ends with one of the two timestamps.
|
||||
# This is done to avoid race conditions where buf is run close to the end
|
||||
# of a second, in which case the second timestamp might be in the next second,
|
||||
# causing the test to fail.
|
||||
# By using `or` for the two checks, we can verify that one of the two files is present.
|
||||
# In most cases, it's going to have the same timestamp anyway.
|
||||
# We can't use `assert_file_exist` here, since it only checks for a single file name.
|
||||
assert [ -e "${file}_${stamp1}" \
|
||||
-o -e "${file}_${stamp2}" ]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "helpers"
|
||||
load "${BASH_IT?}/plugins/available/battery.plugin.bash"
|
||||
setup_libs "helpers"
|
||||
load "${BASH_IT?}/plugins/available/battery.plugin.bash"
|
||||
}
|
||||
|
||||
# Sets up the `_command_exists` function so that it only responds `true` if called with
|
||||
|
|
@ -20,18 +20,18 @@ function local_setup_file() {
|
|||
# It's cool that Bash allows to define functions within functions, works almost like
|
||||
# a closure in JavaScript.
|
||||
function setup_command_exists {
|
||||
success_command="$1"
|
||||
success_command="$1"
|
||||
|
||||
function _command_exists {
|
||||
case "$1" in
|
||||
"${success_command}")
|
||||
true
|
||||
;;
|
||||
*)
|
||||
false
|
||||
;;
|
||||
esac
|
||||
}
|
||||
function _command_exists {
|
||||
case "$1" in
|
||||
"${success_command}")
|
||||
true
|
||||
;;
|
||||
*)
|
||||
false
|
||||
;;
|
||||
esac
|
||||
}
|
||||
}
|
||||
|
||||
#######################
|
||||
|
|
@ -40,10 +40,10 @@ function setup_command_exists {
|
|||
#
|
||||
|
||||
@test 'plugins battery: battery-percentage with no tool' {
|
||||
setup_command_exists "fooooo"
|
||||
setup_command_exists "fooooo"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "no"
|
||||
run battery_percentage
|
||||
assert_output "no"
|
||||
}
|
||||
|
||||
#######################
|
||||
|
|
@ -54,56 +54,56 @@ function setup_command_exists {
|
|||
# Creates a `pmset` function that simulates output like the real `pmset` command.
|
||||
# The passed in parameter is used for the remaining battery percentage.
|
||||
function setup_pmset {
|
||||
percent="$1"
|
||||
percent="$1"
|
||||
|
||||
function pmset {
|
||||
printf "\-InternalBattery-0 (id=12345) %s; discharging; 16:00 remaining present: true" "${percent}"
|
||||
}
|
||||
function pmset {
|
||||
printf "\-InternalBattery-0 (id=12345) %s; discharging; 16:00 remaining present: true" "${percent}"
|
||||
}
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with pmset, 100%' {
|
||||
setup_command_exists "pmset"
|
||||
setup_command_exists "pmset"
|
||||
|
||||
setup_pmset "100%"
|
||||
setup_pmset "100%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with pmset, 98%' {
|
||||
setup_command_exists "pmset"
|
||||
setup_command_exists "pmset"
|
||||
|
||||
setup_pmset "98%"
|
||||
setup_pmset "98%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with pmset, 98.5%' {
|
||||
setup_command_exists "pmset"
|
||||
setup_command_exists "pmset"
|
||||
|
||||
setup_pmset "98.5%"
|
||||
setup_pmset "98.5%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with pmset, 4%' {
|
||||
setup_command_exists "pmset"
|
||||
setup_command_exists "pmset"
|
||||
|
||||
setup_pmset "4%"
|
||||
setup_pmset "4%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with pmset, no status' {
|
||||
setup_command_exists "pmset"
|
||||
setup_command_exists "pmset"
|
||||
|
||||
setup_pmset ""
|
||||
setup_pmset ""
|
||||
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
}
|
||||
|
||||
#######################
|
||||
|
|
@ -116,75 +116,75 @@ function setup_pmset {
|
|||
# 1) the remaining battery percentage.
|
||||
# 2) the battery status
|
||||
function setup_acpi {
|
||||
percent="$1"
|
||||
status="$2"
|
||||
percent="$1"
|
||||
status="$2"
|
||||
|
||||
function acpi {
|
||||
printf "Battery 0: %s, %s, 01:02:48 until charged" "${status}" "${percent}"
|
||||
}
|
||||
function acpi {
|
||||
printf "Battery 0: %s, %s, 01:02:48 until charged" "${status}" "${percent}"
|
||||
}
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with acpi, 100% Full' {
|
||||
setup_command_exists "acpi"
|
||||
setup_command_exists "acpi"
|
||||
|
||||
setup_acpi "100%" "Full"
|
||||
setup_acpi "100%" "Full"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with acpi, 98% Charging' {
|
||||
setup_command_exists "acpi"
|
||||
setup_command_exists "acpi"
|
||||
|
||||
setup_acpi "98%" "Charging"
|
||||
setup_acpi "98%" "Charging"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with acpi, 98% Discharging' {
|
||||
setup_command_exists "acpi"
|
||||
setup_command_exists "acpi"
|
||||
|
||||
setup_acpi "98%" "Discharging"
|
||||
setup_acpi "98%" "Discharging"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with acpi, 98% Unknown' {
|
||||
setup_command_exists "acpi"
|
||||
setup_command_exists "acpi"
|
||||
|
||||
setup_acpi "98%" "Unknown"
|
||||
setup_acpi "98%" "Unknown"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with acpi, 4% Charging' {
|
||||
setup_command_exists "acpi"
|
||||
setup_command_exists "acpi"
|
||||
|
||||
setup_acpi "4%" "Charging"
|
||||
setup_acpi "4%" "Charging"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with acpi, 4% no status' {
|
||||
setup_command_exists "acpi"
|
||||
setup_command_exists "acpi"
|
||||
|
||||
setup_acpi "4%" ""
|
||||
setup_acpi "4%" ""
|
||||
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with acpi, no status' {
|
||||
setup_command_exists "acpi"
|
||||
setup_command_exists "acpi"
|
||||
|
||||
setup_acpi "" ""
|
||||
setup_acpi "" ""
|
||||
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
}
|
||||
|
||||
#######################
|
||||
|
|
@ -200,64 +200,63 @@ function setup_upower {
|
|||
|
||||
function upower {
|
||||
case $1 in
|
||||
'-e'|'--enumerate')
|
||||
printf '%s\n' "$BAT0" "/org/freedesktop/UPower/devices/mouse_hid_${RANDOM}_battery"
|
||||
;;
|
||||
'-i'|'--show-info')
|
||||
if [[ $2 == "$BAT0" ]]
|
||||
then
|
||||
printf "voltage: 12.191 V\n time to full: 57.3 minutes\n percentage: %s\n capacity: 84.6964" "${percent}"
|
||||
else
|
||||
false
|
||||
fi
|
||||
;;
|
||||
'-e' | '--enumerate')
|
||||
printf '%s\n' "$BAT0" "/org/freedesktop/UPower/devices/mouse_hid_${RANDOM}_battery"
|
||||
;;
|
||||
'-i' | '--show-info')
|
||||
if [[ $2 == "$BAT0" ]]; then
|
||||
printf "voltage: 12.191 V\n time to full: 57.3 minutes\n percentage: %s\n capacity: 84.6964" "${percent}"
|
||||
else
|
||||
false
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with upower, 100%' {
|
||||
setup_command_exists "upower"
|
||||
setup_command_exists "upower"
|
||||
|
||||
setup_upower "100.00%"
|
||||
setup_upower "100.00%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with upower, 98%' {
|
||||
setup_command_exists "upower"
|
||||
setup_command_exists "upower"
|
||||
|
||||
setup_upower "98.4567%"
|
||||
setup_upower "98.4567%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with upower, 98.5%' {
|
||||
setup_command_exists "upower"
|
||||
setup_command_exists "upower"
|
||||
|
||||
setup_upower "98.5%"
|
||||
setup_upower "98.5%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with upower, 4%' {
|
||||
setup_command_exists "upower"
|
||||
setup_command_exists "upower"
|
||||
|
||||
setup_upower "4.2345%"
|
||||
setup_upower "4.2345%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with upower, no output' {
|
||||
setup_command_exists "upower"
|
||||
setup_command_exists "upower"
|
||||
|
||||
setup_upower ""
|
||||
setup_upower ""
|
||||
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
}
|
||||
|
||||
#######################
|
||||
|
|
@ -268,59 +267,59 @@ function setup_upower {
|
|||
# Creates a `ioreg` function that simulates output like the real `ioreg` command.
|
||||
# The passed in parameter is used for the remaining battery percentage.
|
||||
function setup_ioreg {
|
||||
percent="$1"
|
||||
percent="$1"
|
||||
|
||||
function ioreg {
|
||||
printf "\"MaxCapacity\" = 100\n\"CurrentCapacity\" = %s" "${percent}"
|
||||
}
|
||||
function ioreg {
|
||||
printf "\"MaxCapacity\" = 100\n\"CurrentCapacity\" = %s" "${percent}"
|
||||
}
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with ioreg, 100%' {
|
||||
setup_command_exists "ioreg"
|
||||
setup_command_exists "ioreg"
|
||||
|
||||
setup_ioreg "100%"
|
||||
setup_ioreg "100%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with ioreg, 98%' {
|
||||
setup_command_exists "ioreg"
|
||||
setup_command_exists "ioreg"
|
||||
|
||||
setup_ioreg "98%"
|
||||
setup_ioreg "98%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with ioreg, 98.5%' {
|
||||
setup_command_exists "ioreg"
|
||||
setup_command_exists "ioreg"
|
||||
|
||||
setup_ioreg "98.5%"
|
||||
setup_ioreg "98.5%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with ioreg, 4%' {
|
||||
setup_command_exists "ioreg"
|
||||
setup_command_exists "ioreg"
|
||||
|
||||
setup_ioreg "4%"
|
||||
setup_ioreg "4%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with ioreg, no status' {
|
||||
setup_command_exists "ioreg"
|
||||
setup_command_exists "ioreg"
|
||||
|
||||
# Simulate that no battery is present
|
||||
function ioreg {
|
||||
printf ""
|
||||
}
|
||||
# Simulate that no battery is present
|
||||
function ioreg {
|
||||
printf ""
|
||||
}
|
||||
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
}
|
||||
|
||||
#######################
|
||||
|
|
@ -331,54 +330,54 @@ function setup_ioreg {
|
|||
# Creates a `WMIC` function that simulates output like the real `WMIC` command.
|
||||
# The passed in parameter is used for the remaining battery percentage.
|
||||
function setup_WMIC {
|
||||
percent="$1"
|
||||
percent="$1"
|
||||
|
||||
function WMIC {
|
||||
printf "Charge: %s" "${percent}"
|
||||
}
|
||||
function WMIC {
|
||||
printf "Charge: %s" "${percent}"
|
||||
}
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with WMIC, 100%' {
|
||||
setup_command_exists "WMIC"
|
||||
setup_command_exists "WMIC"
|
||||
|
||||
setup_WMIC "100%"
|
||||
setup_WMIC "100%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
run battery_percentage
|
||||
assert_output "100"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with WMIC, 98%' {
|
||||
setup_command_exists "WMIC"
|
||||
setup_command_exists "WMIC"
|
||||
|
||||
setup_WMIC "98%"
|
||||
setup_WMIC "98%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with WMIC, 98.5%' {
|
||||
setup_command_exists "WMIC"
|
||||
setup_command_exists "WMIC"
|
||||
|
||||
setup_WMIC "98.5%"
|
||||
setup_WMIC "98.5%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
run battery_percentage
|
||||
assert_output "98"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with WMIC, 4%' {
|
||||
setup_command_exists "WMIC"
|
||||
setup_command_exists "WMIC"
|
||||
|
||||
setup_WMIC "4%"
|
||||
setup_WMIC "4%"
|
||||
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
run battery_percentage
|
||||
assert_output "04"
|
||||
}
|
||||
|
||||
@test 'plugins battery: battery-percentage with WMIC, no status' {
|
||||
setup_command_exists "WMIC"
|
||||
setup_command_exists "WMIC"
|
||||
|
||||
setup_WMIC ""
|
||||
setup_WMIC ""
|
||||
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
run battery_percentage
|
||||
assert_output "-1"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
# shellcheck shell=bats
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "command_duration"
|
||||
load "${BASH_IT?}/plugins/available/cmd-returned-notify.plugin.bash"
|
||||
setup_libs "command_duration"
|
||||
load "${BASH_IT?}/plugins/available/cmd-returned-notify.plugin.bash"
|
||||
}
|
||||
|
||||
@test "plugins cmd-returned-notify: notify after elapsed time" {
|
||||
export NOTIFY_IF_COMMAND_RETURNS_AFTER=0
|
||||
export COMMAND_DURATION_START_SECONDS="${EPOCHREALTIME:-$SECONDS}"
|
||||
NOTIFY_IF_COMMAND_RETURNS_AFTER=0
|
||||
COMMAND_DURATION_START_SECONDS="${EPOCHREALTIME:-$SECONDS}"
|
||||
sleep 1
|
||||
run precmd_return_notification
|
||||
assert_success
|
||||
|
|
@ -17,8 +18,8 @@ function local_setup_file() {
|
|||
}
|
||||
|
||||
@test "plugins cmd-returned-notify: do not notify before elapsed time" {
|
||||
export NOTIFY_IF_COMMAND_RETURNS_AFTER=10
|
||||
export COMMAND_DURATION_START_SECONDS="${EPOCHREALTIME:-$SECONDS}"
|
||||
NOTIFY_IF_COMMAND_RETURNS_AFTER=10
|
||||
COMMAND_DURATION_START_SECONDS="${EPOCHREALTIME:-$SECONDS}"
|
||||
sleep 1
|
||||
run precmd_return_notification
|
||||
assert_success
|
||||
|
|
@ -26,13 +27,13 @@ function local_setup_file() {
|
|||
}
|
||||
|
||||
@test "lib command_duration: preexec no output" {
|
||||
export COMMAND_DURATION_START_SECONDS=
|
||||
COMMAND_DURATION_START_SECONDS=
|
||||
run _command_duration_pre_exec
|
||||
assert_success
|
||||
assert_output ""
|
||||
}
|
||||
@test "lib command_duration: preexec set COMMAND_DURATION_START_SECONDS" {
|
||||
export COMMAND_DURATION_START_SECONDS=
|
||||
COMMAND_DURATION_START_SECONDS=
|
||||
assert_equal "${COMMAND_DURATION_START_SECONDS}" ""
|
||||
NOW="${EPOCHREALTIME:-$SECONDS}"
|
||||
_command_duration_pre_exec
|
||||
|
|
|
|||
|
|
@ -1,74 +1,74 @@
|
|||
# shellcheck shell=bats
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "helpers"
|
||||
setup_libs "helpers"
|
||||
}
|
||||
|
||||
function setup_go_path()
|
||||
{
|
||||
local go_path="$1"
|
||||
function setup_go_path() {
|
||||
local go_path="$1"
|
||||
|
||||
# Make sure that the requested GO folder is available
|
||||
assert_dir_exist "$go_path/bin"
|
||||
# Make sure that the requested GO folder is available
|
||||
assert_dir_exist "$go_path/bin"
|
||||
|
||||
# Make sure that the requested GO folder is on the path
|
||||
export GOPATH="$go_path:${GOPATH:-}"
|
||||
# Make sure that the requested GO folder is on the path
|
||||
export GOPATH="$go_path:${GOPATH:-}"
|
||||
}
|
||||
|
||||
# We test `go version` in each test to account for users with goenv and no system go.
|
||||
|
||||
@test 'ensure _bash-it-gopath-pathmunge is defined' {
|
||||
{ _command_exists go && go version &>/dev/null; } || skip 'golang not found'
|
||||
load ../../plugins/available/go.plugin
|
||||
run type -t _bash-it-gopath-pathmunge
|
||||
assert_line 'function'
|
||||
{ _command_exists go && go version &> /dev/null; } || skip 'golang not found'
|
||||
load "${BASH_IT?}/plugins/available/go.plugin.bash"
|
||||
run type -t _bash-it-gopath-pathmunge
|
||||
assert_line 'function'
|
||||
}
|
||||
|
||||
@test 'plugins go: single entry in GOPATH' {
|
||||
{ _command_exists go && go version &>/dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath"
|
||||
load ../../plugins/available/go.plugin
|
||||
assert_equal "$(cut -d':' -f1 <<<$PATH)" "$BASH_IT/test/fixtures/go/gopath/bin"
|
||||
{ _command_exists go && go version &> /dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath"
|
||||
load "${BASH_IT?}/plugins/available/go.plugin.bash"
|
||||
assert_equal "$(cut -d':' -f1 <<< "$PATH")" "$BASH_IT/test/fixtures/go/gopath/bin"
|
||||
}
|
||||
|
||||
@test 'plugins go: single entry in GOPATH, with space' {
|
||||
{ _command_exists go && go version &>/dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/go path"
|
||||
load ../../plugins/available/go.plugin
|
||||
assert_equal "$(cut -d':' -f1 <<<$PATH)" "$BASH_IT/test/fixtures/go/go path/bin"
|
||||
{ _command_exists go && go version &> /dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/go path"
|
||||
load "${BASH_IT?}/plugins/available/go.plugin.bash"
|
||||
assert_equal "$(cut -d':' -f1 <<< "$PATH")" "$BASH_IT/test/fixtures/go/go path/bin"
|
||||
}
|
||||
|
||||
@test 'plugins go: single entry in GOPATH, with escaped space' {
|
||||
skip 'huh?'
|
||||
{ _command_exists go && go version &>/dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/go\ path"
|
||||
load ../../plugins/available/go.plugin
|
||||
assert_equal "$(cut -d':' -f1 <<<$PATH)" "$BASH_IT/test/fixtures/go/go\ path/bin"
|
||||
skip 'huh?'
|
||||
{ _command_exists go && go version &> /dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/go\ path"
|
||||
load "${BASH_IT?}/plugins/available/go.plugin.bash"
|
||||
assert_equal "$(cut -d':' -f1 <<< "$PATH")" "$BASH_IT/test/fixtures/go/go\ path/bin"
|
||||
}
|
||||
|
||||
@test 'plugins go: multiple entries in GOPATH' {
|
||||
{ _command_exists go && go version &>/dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath"
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath2"
|
||||
load ../../plugins/available/go.plugin
|
||||
assert_equal "$(cut -d':' -f1,2 <<<$PATH)" "$BASH_IT/test/fixtures/go/gopath2/bin:$BASH_IT/test/fixtures/go/gopath/bin"
|
||||
{ _command_exists go && go version &> /dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath"
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath2"
|
||||
load "${BASH_IT?}/plugins/available/go.plugin.bash"
|
||||
assert_equal "$(cut -d':' -f1,2 <<< "$PATH")" "$BASH_IT/test/fixtures/go/gopath2/bin:$BASH_IT/test/fixtures/go/gopath/bin"
|
||||
}
|
||||
|
||||
@test 'plugins go: multiple entries in GOPATH, with space' {
|
||||
{ _command_exists go && go version &>/dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath"
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/go path"
|
||||
load ../../plugins/available/go.plugin
|
||||
assert_equal "$(cut -d':' -f1,2 <<<$PATH)" "$BASH_IT/test/fixtures/go/go path/bin:$BASH_IT/test/fixtures/go/gopath/bin"
|
||||
{ _command_exists go && go version &> /dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath"
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/go path"
|
||||
load "${BASH_IT?}/plugins/available/go.plugin.bash"
|
||||
assert_equal "$(cut -d':' -f1,2 <<< "$PATH")" "$BASH_IT/test/fixtures/go/go path/bin:$BASH_IT/test/fixtures/go/gopath/bin"
|
||||
}
|
||||
|
||||
@test 'plugins go: multiple entries in GOPATH, with escaped space' {
|
||||
skip 'huh?'
|
||||
{ _command_exists go && go version &>/dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath"
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/go path"
|
||||
load ../../plugins/available/go.plugin
|
||||
assert_equal "$(cut -d':' -f1,2 <<<$PATH)" "$BASH_IT/test/fixtures/go/go\ path/bin:$BASH_IT/test/fixtures/go/gopath/bin"
|
||||
skip 'huh?'
|
||||
{ _command_exists go && go version &> /dev/null; } || skip 'golang not found'
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/gopath"
|
||||
setup_go_path "$BASH_IT/test/fixtures/go/go path"
|
||||
load "${BASH_IT?}/plugins/available/go.plugin.bash"
|
||||
assert_equal "$(cut -d':' -f1,2 <<< "$PATH")" "$BASH_IT/test/fixtures/go/go\ path/bin:$BASH_IT/test/fixtures/go/gopath/bin"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,29 +3,30 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "helpers"
|
||||
setup_libs "helpers"
|
||||
}
|
||||
|
||||
@test "plugins ruby: remove_gem is defined" {
|
||||
run load "${BASH_IT?}/plugins/available/ruby.plugin.bash"
|
||||
assert_success
|
||||
load "${BASH_IT?}/plugins/available/ruby.plugin.bash"
|
||||
run load "${BASH_IT?}/plugins/available/ruby.plugin.bash"
|
||||
assert_success
|
||||
load "${BASH_IT?}/plugins/available/ruby.plugin.bash"
|
||||
|
||||
run type remove_gem
|
||||
assert_line -n 1 "remove_gem () "
|
||||
run type remove_gem
|
||||
assert_line -n 1 "remove_gem () "
|
||||
}
|
||||
|
||||
@test "plugins ruby: PATH includes ~/.gem/ruby/bin" {
|
||||
if ! type ruby >/dev/null; then
|
||||
skip 'ruby not installed'
|
||||
fi
|
||||
local last_path_entry
|
||||
if ! type ruby > /dev/null; then
|
||||
skip 'ruby not installed'
|
||||
fi
|
||||
|
||||
mkdir -p "$(ruby -e 'print Gem.user_dir')/bin"
|
||||
mkdir -p "$(ruby -e 'print Gem.user_dir')/bin"
|
||||
|
||||
run load "${BASH_IT?}/plugins/available/ruby.plugin.bash"
|
||||
assert_success
|
||||
load "${BASH_IT?}/plugins/available/ruby.plugin.bash"
|
||||
run load "${BASH_IT?}/plugins/available/ruby.plugin.bash"
|
||||
assert_success
|
||||
load "${BASH_IT?}/plugins/available/ruby.plugin.bash"
|
||||
|
||||
local last_path_entry="$(tail -1 <<<"${PATH//:/$'\n'}")"
|
||||
[[ "${last_path_entry}" == "$(ruby -e 'print Gem.user_dir')/bin" ]]
|
||||
last_path_entry="$(tail -1 <<< "${PATH//:/$'\n'}")"
|
||||
[[ "${last_path_entry}" == "$(ruby -e 'print Gem.user_dir')/bin" ]]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,42 +1,43 @@
|
|||
# shellcheck shell=bats
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "helpers"
|
||||
load "${BASH_IT?}/plugins/available/xterm.plugin.bash"
|
||||
setup_libs "helpers"
|
||||
load "${BASH_IT?}/plugins/available/xterm.plugin.bash"
|
||||
}
|
||||
|
||||
@test "plugins xterm: shorten command output" {
|
||||
export SHORT_TERM_LINE=true
|
||||
run _short-command "${BASH_IT}/test/fixtures/plugin/xterm/files"/*
|
||||
assert_success
|
||||
assert_output "${BASH_IT}/test/fixtures/plugin/xterm/files/arg0"
|
||||
SHORT_TERM_LINE=true
|
||||
run _short-command "${BASH_IT}/test/fixtures/plugin/xterm/files"/*
|
||||
assert_success
|
||||
assert_output "${BASH_IT}/test/fixtures/plugin/xterm/files/arg0"
|
||||
}
|
||||
|
||||
@test "plugins xterm: full command output" {
|
||||
export SHORT_TERM_LINE=false
|
||||
run _short-command "${BASH_IT}/test/fixtures/plugin/xterm/files"/*
|
||||
assert_success
|
||||
assert_output "$(echo "${BASH_IT}/test/fixtures/plugin/xterm/files"/*)"
|
||||
SHORT_TERM_LINE=false
|
||||
run _short-command "${BASH_IT}/test/fixtures/plugin/xterm/files"/*
|
||||
assert_success
|
||||
assert_output "$(echo "${BASH_IT}/test/fixtures/plugin/xterm/files"/*)"
|
||||
}
|
||||
|
||||
@test "plugins xterm: shorten dirname output" {
|
||||
export SHORT_TERM_LINE=true
|
||||
run _short-dirname
|
||||
assert_success
|
||||
assert_output "$(basename "${PWD}")"
|
||||
SHORT_TERM_LINE=true
|
||||
run _short-dirname
|
||||
assert_success
|
||||
assert_output "$(basename "${PWD}")"
|
||||
}
|
||||
|
||||
@test "plugins xterm: full dirname output" {
|
||||
export SHORT_TERM_LINE=false
|
||||
run _short-dirname
|
||||
assert_success
|
||||
assert_output "${PWD}"
|
||||
SHORT_TERM_LINE=false
|
||||
run _short-dirname
|
||||
assert_success
|
||||
assert_output "${PWD}"
|
||||
}
|
||||
|
||||
@test "plugins xterm: set xterm title" {
|
||||
run set_xterm_title title
|
||||
assert_success
|
||||
assert_output $'\033]0;title\007'
|
||||
run set_xterm_title title
|
||||
assert_success
|
||||
assert_output $'\033]0;title\007'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ function common_setup_file() {
|
|||
function setup_libs() {
|
||||
local lib
|
||||
# Use a loop to allow convenient short-circuiting for some test files
|
||||
for lib in "log" "utilities" "helpers" "search" "preexec" "colors" "command_duration"; do
|
||||
for lib in "log" "utilities" "helpers" "search" "colors" "preview" "preexec" "history" "command_duration"; do
|
||||
load "${BASH_IT?}/lib/${lib}.bash" || return
|
||||
# shellcheck disable=SC2015 # short-circuit if we've reached the requested library
|
||||
[[ "${lib}" == "${1:-}" ]] && return 0 || true
|
||||
|
|
@ -66,7 +66,7 @@ function setup_libs() {
|
|||
}
|
||||
|
||||
function local_setup_file() {
|
||||
true
|
||||
setup_libs "colors" # overridable default
|
||||
}
|
||||
|
||||
function local_setup() {
|
||||
|
|
|
|||
|
|
@ -3,71 +3,71 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "colors" #"theme"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
setup_libs "colors" #"theme"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
}
|
||||
|
||||
@test 'themes base: battery_percentage should not exist' {
|
||||
run type -a battery_percentage &> /dev/null
|
||||
assert_failure
|
||||
run type -a battery_percentage &> /dev/null
|
||||
assert_failure
|
||||
}
|
||||
|
||||
@test 'themes base: battery_percentage should exist if battery plugin loaded' {
|
||||
load "${BASH_IT?}/plugins/available/battery.plugin.bash"
|
||||
load "${BASH_IT?}/plugins/available/battery.plugin.bash"
|
||||
|
||||
run type -a battery_percentage &> /dev/null
|
||||
assert_success
|
||||
run type -a battery_percentage &> /dev/null
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test 'themes base: battery_char should exist' {
|
||||
run type -t battery_char
|
||||
assert_success
|
||||
assert_line "function"
|
||||
run type -t battery_char
|
||||
assert_success
|
||||
assert_line "function"
|
||||
|
||||
run battery_char
|
||||
assert_line -n 0 ""
|
||||
run battery_char
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test 'themes base: battery_char should exist if battery plugin loaded' {
|
||||
unset -f battery_char
|
||||
unset -f battery_char
|
||||
|
||||
load "${BASH_IT?}/plugins/available/battery.plugin.bash"
|
||||
run type -t battery_percentage
|
||||
assert_success
|
||||
assert_line "function"
|
||||
load "${BASH_IT?}/plugins/available/battery.plugin.bash"
|
||||
run type -t battery_percentage
|
||||
assert_success
|
||||
assert_line "function"
|
||||
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
run type -t battery_char
|
||||
assert_success
|
||||
assert_line "function"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
run type -t battery_char
|
||||
assert_success
|
||||
assert_line "function"
|
||||
|
||||
run battery_char
|
||||
assert_success
|
||||
run battery_char
|
||||
assert_success
|
||||
|
||||
run type -a battery_char
|
||||
assert_output --partial 'THEME_BATTERY_PERCENTAGE_CHECK'
|
||||
run type -a battery_char
|
||||
assert_output --partial 'THEME_BATTERY_PERCENTAGE_CHECK'
|
||||
}
|
||||
|
||||
@test 'themes base: battery_charge should exist' {
|
||||
run type -a battery_charge &> /dev/null
|
||||
assert_success
|
||||
run type -a battery_charge &> /dev/null
|
||||
assert_success
|
||||
|
||||
run battery_charge
|
||||
assert_success
|
||||
assert_output ""
|
||||
run battery_charge
|
||||
assert_success
|
||||
assert_output ""
|
||||
}
|
||||
|
||||
@test 'themes base: battery_charge should exist if battery plugin loaded' {
|
||||
unset -f battery_charge
|
||||
load "${BASH_IT?}/plugins/available/battery.plugin.bash"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
unset -f battery_charge
|
||||
load "${BASH_IT?}/plugins/available/battery.plugin.bash"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
|
||||
run type -a battery_charge &> /dev/null
|
||||
assert_success
|
||||
run type -a battery_charge &> /dev/null
|
||||
assert_success
|
||||
|
||||
run battery_charge
|
||||
assert_success
|
||||
run battery_charge
|
||||
assert_success
|
||||
|
||||
run type -a battery_charge
|
||||
assert_line ' no)'
|
||||
run type -a battery_charge
|
||||
assert_line ' no)'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,383 +5,383 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "colors" #"theme"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
load "${BASH_IT?}/themes/githelpers.theme.bash"
|
||||
setup_libs "colors" #"theme"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
load "${BASH_IT?}/themes/githelpers.theme.bash"
|
||||
}
|
||||
|
||||
add_commit() {
|
||||
local file_name="general-${RANDOM}"
|
||||
touch "${file_name}"
|
||||
echo "" >> "${file_name}"
|
||||
git add "${file_name}"
|
||||
git commit -m"message"
|
||||
local file_name="general-${RANDOM}"
|
||||
touch "${file_name}"
|
||||
echo "" >> "${file_name}"
|
||||
git add "${file_name}"
|
||||
git commit -m"message"
|
||||
}
|
||||
|
||||
enter_new_git_repo() {
|
||||
repo="$(setup_repo)"
|
||||
pushd "${repo}"
|
||||
repo="$(setup_repo)"
|
||||
pushd "${repo}" || return
|
||||
}
|
||||
|
||||
setup_repo() {
|
||||
upstream="$(mktemp -d)"
|
||||
pushd "$upstream" > /dev/null
|
||||
git init . > /dev/null
|
||||
upstream="$(mktemp -d)"
|
||||
pushd "$upstream" > /dev/null || return
|
||||
git init . > /dev/null
|
||||
|
||||
echo "$upstream"
|
||||
echo "$upstream"
|
||||
}
|
||||
|
||||
setup_repo_with_upstream() {
|
||||
upstream="$(setup_repo)"
|
||||
pushd "$upstream" > /dev/null
|
||||
add_commit > /dev/null
|
||||
git checkout -b branch-two
|
||||
git checkout -b gone-branch
|
||||
git checkout master
|
||||
popd > /dev/null
|
||||
upstream="$(setup_repo)"
|
||||
pushd "$upstream" > /dev/null || return
|
||||
add_commit > /dev/null
|
||||
git checkout -b branch-two
|
||||
git checkout -b gone-branch
|
||||
git checkout master
|
||||
popd > /dev/null || return
|
||||
|
||||
downstream="$(setup_repo)"
|
||||
pushd "$downstream" > /dev/null
|
||||
add_commit > /dev/null
|
||||
git remote add my-remote "$upstream"
|
||||
git fetch my-remote
|
||||
git branch -u my-remote/master > /dev/null
|
||||
popd > /dev/null
|
||||
downstream="$(setup_repo)"
|
||||
pushd "$downstream" > /dev/null || return
|
||||
add_commit > /dev/null
|
||||
git remote add my-remote "$upstream"
|
||||
git fetch my-remote
|
||||
git branch -u my-remote/master > /dev/null
|
||||
popd > /dev/null || return
|
||||
|
||||
pushd "$upstream" > /dev/null
|
||||
git branch -d gone-branch > /dev/null
|
||||
popd > /dev/null
|
||||
pushd "$upstream" > /dev/null || return
|
||||
git branch -d gone-branch > /dev/null
|
||||
popd > /dev/null || return
|
||||
|
||||
pushd "$downstream" > /dev/null
|
||||
git fetch my-remote
|
||||
popd > /dev/null
|
||||
pushd "$downstream" > /dev/null || return
|
||||
git fetch my-remote
|
||||
popd > /dev/null || return
|
||||
|
||||
echo "$downstream"
|
||||
echo "$downstream"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: when tracking a remote branch: it shows the commits ahead and behind' {
|
||||
pre="\$(_git-friendly-ref)"
|
||||
pre='$(_git-friendly-ref)'
|
||||
|
||||
remote="$(setup_repo)"
|
||||
pushd "$remote"
|
||||
add_commit
|
||||
add_commit
|
||||
popd
|
||||
remote="$(setup_repo)"
|
||||
pushd "$remote" || return
|
||||
add_commit
|
||||
add_commit
|
||||
popd || return
|
||||
|
||||
clone="$(mktemp -d)"
|
||||
pushd "$clone"
|
||||
git clone "$remote" clone
|
||||
cd clone
|
||||
clone="$(mktemp -d)"
|
||||
pushd "$clone" || return
|
||||
git clone "$remote" clone
|
||||
cd clone
|
||||
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}"
|
||||
|
||||
add_commit
|
||||
add_commit
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} ↑1"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} ↑1"
|
||||
|
||||
add_commit
|
||||
add_commit
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} ↑2"
|
||||
popd
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} ↑2"
|
||||
popd || return
|
||||
|
||||
pushd "$remote"
|
||||
add_commit
|
||||
add_commit
|
||||
add_commit
|
||||
popd
|
||||
pushd "$remote" || return
|
||||
add_commit
|
||||
add_commit
|
||||
add_commit
|
||||
popd || return
|
||||
|
||||
pushd "$clone/clone"
|
||||
git fetch
|
||||
pushd "$clone/clone" || return
|
||||
git fetch
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} ↑2 ↓3"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} ↑2 ↓3"
|
||||
|
||||
git reset HEAD~2 --hard
|
||||
git reset HEAD~2 --hard
|
||||
|
||||
SCM_GIT_BEHIND_CHAR="↓"
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} ↓3"
|
||||
SCM_GIT_BEHIND_CHAR="↓"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} ↓3"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: when stashes exist: it shows the number of stashes' {
|
||||
pre="\$(_git-friendly-ref)"
|
||||
pre='$(_git-friendly-ref)'
|
||||
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
|
||||
touch file
|
||||
git add file
|
||||
git stash
|
||||
touch file
|
||||
git add file
|
||||
git stash
|
||||
|
||||
SCM_GIT_SHOW_STASH_INFO=true
|
||||
SCM_GIT_SHOW_STASH_INFO=true
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} {1}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} {1}"
|
||||
|
||||
touch file2
|
||||
git add file2
|
||||
git stash
|
||||
touch file2
|
||||
git add file2
|
||||
git stash
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} {2}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} {2}"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: remote info: when there is no upstream remote: is empty' {
|
||||
pre="\$(_git-friendly-ref)"
|
||||
post=" ↑1 ↓1"
|
||||
pre='$(_git-friendly-ref)'
|
||||
post=" ↑1 ↓1"
|
||||
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: remote info: when SCM_GIT_SHOW_REMOTE_INFO is true: includes the remote' {
|
||||
pre="\$(_git-friendly-ref) → "
|
||||
eval_pre="master → "
|
||||
post=" ↑1 ↓1"
|
||||
pre='$(_git-friendly-ref) → '
|
||||
eval_pre="master → "
|
||||
post=" ↑1 ↓1"
|
||||
|
||||
repo="$(setup_repo_with_upstream)"
|
||||
pushd "${repo}"
|
||||
repo="$(setup_repo_with_upstream)"
|
||||
pushd "${repo}" || return
|
||||
|
||||
SCM_GIT_SHOW_REMOTE_INFO=true
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
SCM_GIT_SHOW_REMOTE_INFO=true
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}my-remote${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}my-remote${post}"
|
||||
|
||||
git branch -u my-remote/branch-two
|
||||
git branch -u my-remote/branch-two
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}\$(_git-upstream)${post}"
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "${eval_pre}my-remote/branch-two${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}"'$(_git-upstream)'"${post}"
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "${eval_pre}my-remote/branch-two${post}"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: remote info: when SCM_GIT_SHOW_REMOTE_INFO is auto: includes the remote when more than one remote' {
|
||||
pre="\$(_git-friendly-ref)"
|
||||
eval_pre="master"
|
||||
post=" ↑1 ↓1"
|
||||
pre='$(_git-friendly-ref)'
|
||||
eval_pre="master"
|
||||
post=" ↑1 ↓1"
|
||||
|
||||
repo="$(setup_repo_with_upstream)"
|
||||
pushd "${repo}"
|
||||
repo="$(setup_repo_with_upstream)"
|
||||
pushd "${repo}" || return
|
||||
|
||||
SCM_GIT_SHOW_REMOTE_INFO=auto
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
SCM_GIT_SHOW_REMOTE_INFO=auto
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}${post}"
|
||||
|
||||
pre="${pre} → "
|
||||
eval_pre="${eval_pre} → "
|
||||
git branch -u my-remote/branch-two
|
||||
pre="${pre} → "
|
||||
eval_pre="${eval_pre} → "
|
||||
git branch -u my-remote/branch-two
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}\$(_git-upstream-branch)${post}"
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "${eval_pre}branch-two${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}"'$(_git-upstream-branch)'"${post}"
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "${eval_pre}branch-two${post}"
|
||||
|
||||
git remote add second-remote "$(mktemp -d)"
|
||||
git branch -u my-remote/master
|
||||
git remote add second-remote "$(mktemp -d)"
|
||||
git branch -u my-remote/master
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}my-remote${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}my-remote${post}"
|
||||
|
||||
git branch -u my-remote/branch-two
|
||||
git branch -u my-remote/branch-two
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}\$(_git-upstream)${post}"
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "${eval_pre}my-remote/branch-two${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}"'$(_git-upstream)'"${post}"
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "${eval_pre}my-remote/branch-two${post}"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: remote info: when SCM_GIT_SHOW_REMOTE_INFO is false: never include the remote' {
|
||||
pre="\$(_git-friendly-ref)"
|
||||
eval_pre="master"
|
||||
post=" ↑1 ↓1"
|
||||
pre='$(_git-friendly-ref)'
|
||||
eval_pre="master"
|
||||
post=" ↑1 ↓1"
|
||||
|
||||
repo="$(setup_repo_with_upstream)"
|
||||
pushd "${repo}"
|
||||
git remote add second-remote "$(mktemp -d)"
|
||||
git remote add third-remote "$(mktemp -d)"
|
||||
repo="$(setup_repo_with_upstream)"
|
||||
pushd "${repo}" || return
|
||||
git remote add second-remote "$(mktemp -d)"
|
||||
git remote add third-remote "$(mktemp -d)"
|
||||
|
||||
SCM_GIT_SHOW_REMOTE_INFO=false
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
SCM_GIT_SHOW_REMOTE_INFO=false
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}${post}"
|
||||
|
||||
pre="${pre} → "
|
||||
eval_pre="${eval_pre} → "
|
||||
git branch -u my-remote/branch-two
|
||||
pre="${pre} → "
|
||||
eval_pre="${eval_pre} → "
|
||||
git branch -u my-remote/branch-two
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}\$(_git-upstream-branch)${post}"
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "${eval_pre}branch-two${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}"'$(_git-upstream-branch)'"${post}"
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "${eval_pre}branch-two${post}"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: remote info: when showing remote info: show if upstream branch is gone' {
|
||||
pre="\$(_git-friendly-ref)"
|
||||
post=" ↑1 ↓1"
|
||||
pre='$(_git-friendly-ref)'
|
||||
post=" ↑1 ↓1"
|
||||
|
||||
repo="$(setup_repo_with_upstream)"
|
||||
pushd "${repo}"
|
||||
repo="$(setup_repo_with_upstream)"
|
||||
pushd "${repo}" || return
|
||||
|
||||
SCM_GIT_SHOW_REMOTE_INFO=true
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
SCM_GIT_SHOW_REMOTE_INFO=true
|
||||
SCM_GIT_SHOW_COMMIT_COUNT=true
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} → my-remote${post}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} → my-remote${post}"
|
||||
|
||||
git checkout gone-branch
|
||||
git fetch --prune --all
|
||||
git checkout gone-branch
|
||||
git fetch --prune --all
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} ⇢ my-remote"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} ⇢ my-remote"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: git friendly ref: when a branch is checked out: shows that branch' {
|
||||
enter_new_git_repo
|
||||
enter_new_git_repo
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "master"
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "master"
|
||||
|
||||
git checkout -b second-branch
|
||||
git checkout -b second-branch
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "second-branch"
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "second-branch"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: git friendly ref: when a branch is not checked out: shows that branch' {
|
||||
enter_new_git_repo
|
||||
enter_new_git_repo
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "master"
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "master"
|
||||
|
||||
git checkout -b second-branch
|
||||
git checkout -b second-branch
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "second-branch"
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "second-branch"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: git friendly ref: when detached: commit has branch and tag: show a tag' {
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
git tag first-tag
|
||||
git checkout -b second-branch
|
||||
add_commit
|
||||
git checkout HEAD~1
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
git tag first-tag
|
||||
git checkout -b second-branch
|
||||
add_commit
|
||||
git checkout HEAD~1
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "tag:first-tag"
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "tag:first-tag"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: git friendly ref: when detached: commit has branch and no tag: show a branch' {
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
git checkout -b second-branch
|
||||
add_commit
|
||||
git checkout HEAD~1
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
git checkout -b second-branch
|
||||
add_commit
|
||||
git checkout HEAD~1
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "detached:master"
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "detached:master"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: git friendly ref: when detached with no branch or tag: commit is parent to a named ref: show relative name' {
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
add_commit
|
||||
git checkout HEAD~1
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
add_commit
|
||||
git checkout HEAD~1
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "detached:master~1"
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "detached:master~1"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: git friendly ref: when detached with no branch or tag: commit is not parent to a named ref: show short sha' {
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
add_commit
|
||||
sha="$(git rev-parse --short HEAD)"
|
||||
git reset --hard HEAD~1
|
||||
git checkout "$sha"
|
||||
enter_new_git_repo
|
||||
add_commit
|
||||
add_commit
|
||||
sha="$(git rev-parse --short HEAD)"
|
||||
git reset --hard HEAD~1
|
||||
git checkout "$sha"
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"$SCM_BRANCH\"")" "detached:$sha"
|
||||
git_prompt_vars
|
||||
assert_equal "$(eval "echo \"${SCM_BRANCH?}\"")" "detached:$sha"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: git friendly ref: shows staged, unstaged, and untracked file counts' {
|
||||
pre="\$(_git-friendly-ref)"
|
||||
pre='$(_git-friendly-ref)'
|
||||
|
||||
enter_new_git_repo
|
||||
echo "line1" > file1
|
||||
echo "line1" > file2
|
||||
echo "line1" > file3
|
||||
echo "line1" > file4
|
||||
git add .
|
||||
git commit -m"commit1"
|
||||
enter_new_git_repo
|
||||
echo "line1" > file1
|
||||
echo "line1" > file2
|
||||
echo "line1" > file3
|
||||
echo "line1" > file4
|
||||
git add .
|
||||
git commit -m"commit1"
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_STATE" " ✓"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_STATE?}" " ✓"
|
||||
|
||||
echo "line2" >> file1
|
||||
git add file1
|
||||
echo "line2" >> file1
|
||||
git add file1
|
||||
|
||||
SCM_GIT_SHOW_DETAILS=true
|
||||
SCM_GIT_SHOW_DETAILS=true
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} S:1"
|
||||
assert_equal "$SCM_STATE" " ✗"
|
||||
assert_equal "$SCM_DIRTY" "3"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} S:1"
|
||||
assert_equal "${SCM_STATE?}" " ✗"
|
||||
assert_equal "${SCM_DIRTY?}" "3"
|
||||
|
||||
echo "line2" >> file2
|
||||
echo "line2" >> file3
|
||||
echo "line2" >> file4
|
||||
echo "line2" >> file2
|
||||
echo "line2" >> file3
|
||||
echo "line2" >> file4
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} S:1 U:3"
|
||||
assert_equal "$SCM_DIRTY" "2"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} S:1 U:3"
|
||||
assert_equal "${SCM_DIRTY?}" "2"
|
||||
|
||||
echo "line1" > newfile5
|
||||
echo "line1" > newfile6
|
||||
echo "line1" > newfile5
|
||||
echo "line1" > newfile6
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} S:1 U:3 ?:2"
|
||||
assert_equal "$SCM_DIRTY" "1"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} S:1 U:3 ?:2"
|
||||
assert_equal "${SCM_DIRTY?}" "1"
|
||||
|
||||
git config bash-it.hide-status 1
|
||||
git config bash-it.hide-status 1
|
||||
|
||||
SCM_DIRTY='nope'
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}"
|
||||
assert_equal "$SCM_DIRTY" "nope"
|
||||
SCM_DIRTY='nope'
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}"
|
||||
assert_equal "${SCM_DIRTY?}" "nope"
|
||||
}
|
||||
|
||||
@test 'themes base: Git: git user info: shows user initials' {
|
||||
pre="\$(_git-friendly-ref)"
|
||||
pre='$(_git-friendly-ref)'
|
||||
|
||||
enter_new_git_repo
|
||||
git config user.name "Cool User"
|
||||
enter_new_git_repo
|
||||
git config user.name "Cool User"
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre}"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre}"
|
||||
|
||||
SCM_GIT_SHOW_CURRENT_USER=true
|
||||
SCM_GIT_SHOW_CURRENT_USER=true
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} ☺︎ cu"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} ☺︎ cu"
|
||||
|
||||
git config user.name "Çool Üser"
|
||||
git config user.name "Çool Üser"
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} ☺︎ çü"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} ☺︎ çü"
|
||||
|
||||
# show initials set by `git pair`
|
||||
# show initials set by `git pair`
|
||||
|
||||
git config user.initials "ab cd"
|
||||
git config user.initials "ab cd"
|
||||
|
||||
git_prompt_vars
|
||||
assert_equal "$SCM_BRANCH" "${pre} ☺︎ ab+cd"
|
||||
git_prompt_vars
|
||||
assert_equal "${SCM_BRANCH?}" "${pre} ☺︎ ab+cd"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,104 +3,114 @@
|
|||
load "${MAIN_BASH_IT_DIR?}/test/test_helper.bash"
|
||||
|
||||
function local_setup_file() {
|
||||
setup_libs "colors" #"theme"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
setup_libs "colors" #"theme"
|
||||
load "${BASH_IT?}/themes/base.theme.bash"
|
||||
}
|
||||
|
||||
function setup_repo {
|
||||
upstream="$(mktemp -d)"
|
||||
pushd "$upstream" > /dev/null
|
||||
# Create a dummy SVN folder - this will not work with an actual `svn` command,
|
||||
# but will be enough to trigger the SVN check in the base theme.
|
||||
mkdir .svn
|
||||
upstream="$(mktemp -d)"
|
||||
pushd "$upstream" > /dev/null || return
|
||||
# Create a dummy SVN folder - this will not work with an actual `svn` command,
|
||||
# but will be enough to trigger the SVN check in the base theme.
|
||||
mkdir .svn
|
||||
|
||||
echo "$upstream"
|
||||
echo "$upstream"
|
||||
}
|
||||
|
||||
function setup_svn_path {
|
||||
local svn_path="$1"
|
||||
local svn_path="$1"
|
||||
|
||||
# Make sure that the requested SVN script is available
|
||||
assert_file_exist "$svn_path/svn"
|
||||
# Make sure that the requested SVN script is available
|
||||
assert_file_exist "$svn_path/svn"
|
||||
|
||||
# Make sure that the requested SVN script is on the path
|
||||
export PATH="$svn_path:/usr/bin:/bin:/usr/sbin"
|
||||
# Make sure that the requested SVN script is on the path
|
||||
export PATH="$svn_path:$PATH"
|
||||
}
|
||||
|
||||
@test 'themes base: SVN: detect SVN repo' {
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo"
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo" || return
|
||||
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||
|
||||
# Init the base theme again so that the working SVN script is detected
|
||||
_bash_it_appearance_scm_init
|
||||
# Init the base theme again so that the working SVN script is detected
|
||||
run _bash_it_appearance_scm_init
|
||||
assert_success
|
||||
_bash_it_appearance_scm_init
|
||||
|
||||
scm
|
||||
# Make sure that the SVN command is used
|
||||
assert_equal "$SCM" "$SCM_SVN"
|
||||
scm
|
||||
# Make sure that the SVN command is used
|
||||
assert_equal "${SCM?}" "${SCM_SVN?}"
|
||||
}
|
||||
|
||||
@test 'themes base: SVN: detect SVN repo even from a subfolder' {
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo"
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo" || return
|
||||
|
||||
mkdir foo
|
||||
pushd foo
|
||||
mkdir foo
|
||||
pushd foo || return
|
||||
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||
|
||||
# init the base theme again so that the working SVN script is detected
|
||||
_bash_it_appearance_scm_init
|
||||
# Init the base theme again so that the working SVN script is detected
|
||||
run _bash_it_appearance_scm_init
|
||||
assert_success
|
||||
_bash_it_appearance_scm_init
|
||||
|
||||
scm
|
||||
# Make sure that the SVN command is used
|
||||
assert_equal "$SCM" "$SCM_SVN"
|
||||
scm
|
||||
# Make sure that the SVN command is used
|
||||
assert_equal "${SCM?}" "${SCM_SVN?}"
|
||||
}
|
||||
|
||||
@test 'themes base: SVN: no SCM if no .svn folder can be found' {
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo"
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo" || return
|
||||
|
||||
rm -rf .svn
|
||||
rm -rf .svn
|
||||
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/working"
|
||||
|
||||
# Init the base theme again so that the working SVN script is detected
|
||||
_bash_it_appearance_scm_init
|
||||
# Init the base theme again so that the working SVN script is detected
|
||||
run _bash_it_appearance_scm_init
|
||||
assert_success
|
||||
_bash_it_appearance_scm_init
|
||||
|
||||
scm
|
||||
# Make sure that no SVN command is used
|
||||
assert_equal "$SCM" "$SCM_NONE"
|
||||
scm
|
||||
# Make sure that no SVN command is used
|
||||
assert_equal "${SCM?}" "${SCM_NONE?}"
|
||||
}
|
||||
|
||||
@test 'themes base: SVN: ignore SVN repo when using broken SVN command' {
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo"
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo" || return
|
||||
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/broken"
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/broken"
|
||||
|
||||
# Init the base theme again so that the broken SVN script is detected
|
||||
_bash_it_appearance_scm_init
|
||||
# Init the base theme again so that the working SVN script is detected
|
||||
run _bash_it_appearance_scm_init
|
||||
assert_success
|
||||
_bash_it_appearance_scm_init
|
||||
|
||||
scm
|
||||
# Make sure that no SVN command is not used
|
||||
assert_equal "$SCM" "$SCM_NONE"
|
||||
scm
|
||||
# Make sure that no SVN command is not used
|
||||
assert_equal "${SCM?}" "${SCM_NONE?}"
|
||||
}
|
||||
|
||||
@test 'themes base: SVN: ignore SVN repo even from a subfolder when using a broken SVN' {
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo"
|
||||
repo="$(setup_repo)"
|
||||
pushd "$repo" || return
|
||||
|
||||
mkdir foo
|
||||
pushd foo
|
||||
mkdir foo
|
||||
pushd foo || return
|
||||
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/broken"
|
||||
setup_svn_path "$BASH_IT/test/fixtures/svn/broken"
|
||||
|
||||
# Init the base theme again so that the broken SVN script is detected
|
||||
_bash_it_appearance_scm_init
|
||||
# Init the base theme again so that the working SVN script is detected
|
||||
run _bash_it_appearance_scm_init
|
||||
assert_success
|
||||
_bash_it_appearance_scm_init
|
||||
|
||||
scm
|
||||
# Make sure that no SVN command is used
|
||||
assert_equal "$SCM" "$SCM_NONE"
|
||||
scm
|
||||
# Make sure that no SVN command is used
|
||||
assert_equal "${SCM?}" "${SCM_NONE?}"
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue