test: helpers: Add profile command tests
parent
d4ec41bef7
commit
b2ee5f96a5
|
|
@ -0,0 +1,12 @@
|
||||||
|
# plugins
|
||||||
|
plugins alias-completion
|
||||||
|
plugins base
|
||||||
|
|
||||||
|
# completion
|
||||||
|
completion bash-it
|
||||||
|
completion system
|
||||||
|
|
||||||
|
# aliases
|
||||||
|
aliases general
|
||||||
|
# Bad component
|
||||||
|
aliases bla
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
# plugins
|
||||||
|
plugins alias-completion
|
||||||
|
plugins base
|
||||||
|
# Bad type
|
||||||
|
pluugins alias-completion
|
||||||
|
|
||||||
|
# completion
|
||||||
|
completion bash-it
|
||||||
|
completion system
|
||||||
|
|
||||||
|
# aliases
|
||||||
|
aliases general
|
||||||
|
|
@ -13,11 +13,24 @@ load ../../plugins/available/base.plugin
|
||||||
|
|
||||||
function local_setup {
|
function local_setup {
|
||||||
setup_test_fixture
|
setup_test_fixture
|
||||||
|
|
||||||
|
# Copy the test fixture to the Bash-it folder
|
||||||
|
if command -v rsync &> /dev/null; then
|
||||||
|
rsync -a "$BASH_IT/test/fixtures/bash_it/" "$BASH_IT/"
|
||||||
|
else
|
||||||
|
find "$BASH_IT/test/fixtures/bash_it" \
|
||||||
|
-mindepth 1 -maxdepth 1 \
|
||||||
|
-exec cp -r {} "$BASH_IT/" \;
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# TODO Create global __is_enabled function
|
# TODO Create global __is_enabled function
|
||||||
# TODO Create global __get_base_name function
|
# TODO Create global __get_base_name function
|
||||||
# TODO Create global __get_enabled_name function
|
# TODO Create global __get_enabled_name function
|
||||||
|
@test "bash-it: verify that the test fixture is available" {
|
||||||
|
assert_file_exist "$BASH_IT/profiles/test-bad-component.bash_it"
|
||||||
|
assert_file_exist "$BASH_IT/profiles/test-bad-type.bash_it"
|
||||||
|
}
|
||||||
|
|
||||||
@test "helpers: _command_exists function exists" {
|
@test "helpers: _command_exists function exists" {
|
||||||
run type -a _command_exists &> /dev/null
|
run type -a _command_exists &> /dev/null
|
||||||
|
|
@ -283,6 +296,101 @@ function local_setup {
|
||||||
assert_link_exist "$BASH_IT/enabled/225---nvm.plugin.bash"
|
assert_link_exist "$BASH_IT/enabled/225---nvm.plugin.bash"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "helper: profile load command sanity" {
|
||||||
|
run _bash-it-profile-load "default"
|
||||||
|
|
||||||
|
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/365---alias-completion.plugin.bash"
|
||||||
|
assert_link_exist "$BASH_IT/enabled/350---bash-it.completion.bash"
|
||||||
|
assert_link_exist "$BASH_IT/enabled/350---system.completion.bash"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "helper: profile save command sanity" {
|
||||||
|
run _enable-plugin "nvm"
|
||||||
|
|
||||||
|
run _bash-it-profile-save "test"
|
||||||
|
assert_line -n 0 "Saving plugins configuration..."
|
||||||
|
assert_line -n 1 "Saving completion configuration..."
|
||||||
|
assert_line -n 2 "Saving aliases configuration..."
|
||||||
|
assert_line -n 3 "All done!"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "helper: profile save creates valid file with only plugin enabled" {
|
||||||
|
run _enable-plugin "nvm"
|
||||||
|
|
||||||
|
run _bash-it-profile-save "test"
|
||||||
|
run cat "$BASH_IT/profiles/test.bash_it"
|
||||||
|
assert_line -n 0 "# This file is auto generated by Bash-it. Do not edit manually!"
|
||||||
|
assert_line -n 1 "# plugins"
|
||||||
|
assert_line -n 2 "plugins nvm"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "helper: profile save creates valid file with only completion enabled" {
|
||||||
|
run _enable-completion "bash-it"
|
||||||
|
|
||||||
|
run _bash-it-profile-save "test"
|
||||||
|
run cat "$BASH_IT/profiles/test.bash_it"
|
||||||
|
assert_line -n 0 "# This file is auto generated by Bash-it. Do not edit manually!"
|
||||||
|
assert_line -n 1 "# completion"
|
||||||
|
assert_line -n 2 "completion bash-it"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "helper: profile save creates valid file with only aliases enabled" {
|
||||||
|
run _enable-alias "general"
|
||||||
|
|
||||||
|
run _bash-it-profile-save "test"
|
||||||
|
run cat "$BASH_IT/profiles/test.bash_it"
|
||||||
|
assert_line -n 0 "# This file is auto generated by Bash-it. Do not edit manually!"
|
||||||
|
assert_line -n 1 "# aliases"
|
||||||
|
assert_line -n 2 "aliases general"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "helper: profile edge case, empty configuration" {
|
||||||
|
run _bash-it-profile-save "test"
|
||||||
|
assert_line -n 3 "It seems like no configuration was enabled.."
|
||||||
|
assert_line -n 4 "Make sure to double check that this is the wanted behavior."
|
||||||
|
|
||||||
|
run _enable-alias "general"
|
||||||
|
run _enable-plugin "base"
|
||||||
|
run _enable-plugin "alias-completion"
|
||||||
|
run _enable-completion "bash-it"
|
||||||
|
run _enable-completion "system"
|
||||||
|
|
||||||
|
run _bash-it-profile-load "test"
|
||||||
|
assert_link_not_exist "$BASH_IT/enabled/150---general.aliases.bash"
|
||||||
|
assert_link_not_exist "$BASH_IT/enabled/250---base.plugin.bash"
|
||||||
|
assert_link_not_exist "$BASH_IT/enabled/365---alias-completion.plugin.bash"
|
||||||
|
assert_link_not_exist "$BASH_IT/enabled/350---bash-it.completion.bash"
|
||||||
|
assert_link_not_exist "$BASH_IT/enabled/350---system.completion.bash"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "helper: profile save and load" {
|
||||||
|
run _enable-alias "general"
|
||||||
|
run _enable-plugin "base"
|
||||||
|
run _enable-plugin "alias-completion"
|
||||||
|
run _enable-completion "bash-it"
|
||||||
|
run _enable-completion "system"
|
||||||
|
|
||||||
|
run _bash-it-profile-save "test"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run _disable-alias "general"
|
||||||
|
assert_link_not_exist "$BASH_IT/enabled/150---general.aliases.bash"
|
||||||
|
run _bash-it-profile-load "test"
|
||||||
|
assert_link_exist "$BASH_IT/enabled/150---general.aliases.bash"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "helper: profile load corrupted profile file: bad component" {
|
||||||
|
run _bash-it-profile-load "test-bad-component"
|
||||||
|
assert_line -n 1 -p "Bad line(#12) in profile, aborting load..."
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "helper: profile load corrupted profile file: bad subdirectory" {
|
||||||
|
run _bash-it-profile-load "test-bad-type"
|
||||||
|
assert_line -n 1 -p "Bad line(#5) in profile, aborting load..."
|
||||||
|
}
|
||||||
|
|
||||||
@test "helpers: migrate plugins and completions that share the same name" {
|
@test "helpers: migrate plugins and completions that share the same name" {
|
||||||
ln -s $BASH_IT/completion/available/dirs.completion.bash $BASH_IT/completion/enabled/350---dirs.completion.bash
|
ln -s $BASH_IT/completion/available/dirs.completion.bash $BASH_IT/completion/enabled/350---dirs.completion.bash
|
||||||
assert_link_exist "$BASH_IT/completion/enabled/350---dirs.completion.bash"
|
assert_link_exist "$BASH_IT/completion/enabled/350---dirs.completion.bash"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue