mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2025-01-22 18:41:45 +08:00
87 lines
2.3 KiB
Fish
Executable File
87 lines
2.3 KiB
Fish
Executable File
import plugins/fish-spec
|
||
|
||
function describe_oh_my_fish -d "Oh-My-Fish test spec..."
|
||
function before_all
|
||
set -g fish_custom_bak $fish_custom
|
||
set -g fish_plugins_bak $fish_plugins
|
||
set -g fish_function_path_bak $fish_function_path
|
||
end
|
||
|
||
function after_all
|
||
set fish_custom $fish_custom_bak
|
||
set fish_plugins $fish_plugins_bak
|
||
set fish_function_path $fish_function_path_bak
|
||
end
|
||
|
||
function it_has_a_default_custom_directory \
|
||
-d "It should have a default custom directory"
|
||
|
||
set -e fish_custom
|
||
load_oh_my_fish
|
||
expect $fish_custom --to-eq "$HOME/.oh-my-fish/custom"
|
||
end
|
||
|
||
function it_allows_the_custom_folder_location_to_be_customized \
|
||
-d "It should allow modifying the location of the custom directory"
|
||
|
||
set -g fish_custom /tmp
|
||
load_oh_my_fish
|
||
expect $fish_custom --to-eq '/tmp'
|
||
end
|
||
|
||
function it_loads_all_custom_files \
|
||
-d "It should load all custom files"
|
||
|
||
set -g fish_custom /tmp
|
||
echo 'set -gx TEST_LOAD_CUSTOM_FILE file_loaded' > $fish_custom/test.load
|
||
|
||
load_oh_my_fish
|
||
expect $TEST_LOAD_CUSTOM_FILE --to-eq 'file_loaded'
|
||
end
|
||
|
||
function it_loads_all_oh_my_fish_functions \
|
||
-d "It should load all default functions"
|
||
|
||
list.erase "$fish_path/functions/" --from fish_function_path
|
||
|
||
load_oh_my_fish
|
||
expect $fish_function_path --to-contain $fish_path/functions/
|
||
end
|
||
|
||
function it_loads_all_selected_plugins \
|
||
-d "It should load all user selected plugins"
|
||
|
||
list.erase "$fish_path/plugins/bak" \
|
||
"$fish_path/plugins/z" --from fish_function_path
|
||
|
||
set -g fish_plugins bak z
|
||
load_oh_my_fish
|
||
expect $fish_function_path --to-contain $fish_path/plugins/bak
|
||
and expect $fish_function_path --to-contain $fish_path/plugins/z
|
||
end
|
||
|
||
function it_loads_the_selected_theme \
|
||
-d "It should load the user selected theme"
|
||
|
||
list.erase "$fish_path/themes/l" --from fish_function_path
|
||
|
||
set fish_theme l
|
||
load_oh_my_fish
|
||
expect $fish_function_path --to-contain $fish_path/themes/l
|
||
end
|
||
|
||
function it_reloads_with_status_of_0 \
|
||
-d "It should reload the framework with \$status of 0"
|
||
|
||
load_oh_my_fish
|
||
expect $status --to-equal 0
|
||
end
|
||
end
|
||
|
||
function load_oh_my_fish
|
||
. $fish_path/oh-my-fish.fish
|
||
end
|
||
|
||
# Begin test suite ❯❯❯
|
||
spec.run $argv
|