107 lines
2.7 KiB
Bash
107 lines
2.7 KiB
Bash
#!/usr/bin/env zunit
|
|
|
|
@setup {
|
|
load ../alias-finder.plugin.zsh
|
|
|
|
set_git_aliases() {
|
|
unalias -a # all
|
|
alias g="git"
|
|
alias gc="git commit"
|
|
alias gcv="git commit -v"
|
|
alias gcvs="git commit -v -S"
|
|
}
|
|
}
|
|
|
|
@test 'find aliases that contain input' {
|
|
set_git_aliases
|
|
|
|
run alias-finder "git"
|
|
|
|
assert "${#lines[@]}" equals 1
|
|
assert "${lines[1]}" same_as "g=git"
|
|
}
|
|
|
|
@test 'find aliases that contain input with whitespaces at ends' {
|
|
set_git_aliases
|
|
|
|
run alias-finder " git "
|
|
|
|
assert "${#lines[@]}" equals 1
|
|
assert "${lines[1]}" same_as "g=git"
|
|
}
|
|
|
|
@test 'find aliases that contain multiple words' {
|
|
set_git_aliases
|
|
|
|
run alias-finder "git commit -v"
|
|
|
|
assert "${#lines[@]}" equals 3
|
|
assert "${lines[1]}" same_as "gcv='git commit -v'"
|
|
assert "${lines[2]}" same_as "gc='git commit'"
|
|
assert "${lines[3]}" same_as "g=git"
|
|
}
|
|
|
|
@test 'find alias that is the same with input when --exact option is set' {
|
|
set_git_aliases
|
|
|
|
run alias-finder -e "git"
|
|
|
|
assert "${#lines[@]}" equals 1
|
|
assert "${lines[1]}" same_as "g=git"
|
|
}
|
|
|
|
@test 'find alias that is the same with multiple words input when --exact option is set' {
|
|
set_git_aliases
|
|
|
|
run alias-finder -e "git commit -v"
|
|
|
|
assert "${#lines[@]}" equals 1
|
|
assert "${lines[1]}" same_as "gcv='git commit -v'"
|
|
}
|
|
|
|
@test 'find alias that is the same with or longer than input when --longer option is set' {
|
|
set_git_aliases
|
|
|
|
run alias-finder -l "git"
|
|
|
|
assert "${#lines[@]}" equals 4
|
|
assert "${lines[1]}" same_as "g=git"
|
|
assert "${lines[2]}" same_as "gc='git commit'"
|
|
assert "${lines[3]}" same_as "gcv='git commit -v'"
|
|
assert "${lines[4]}" same_as "gcvs='git commit -v -S'"
|
|
}
|
|
|
|
@test 'find alias that is the same with or longer than multiple words input when --longer option is set' {
|
|
set_git_aliases
|
|
|
|
run alias-finder -l "git commit -v"
|
|
|
|
assert "${#lines[@]}" equals 2
|
|
assert "${lines[1]}" same_as "gcv='git commit -v'"
|
|
assert "${lines[2]}" same_as "gcvs='git commit -v -S'"
|
|
}
|
|
|
|
@test 'find aliases including expensive (longer) than input' {
|
|
set_git_aliases
|
|
alias expensiveCommands="git commit"
|
|
|
|
run alias-finder "git commit -v"
|
|
|
|
assert "${#lines[@]}" equals 4
|
|
assert "${lines[1]}" same_as "gcv='git commit -v'"
|
|
assert "${lines[2]}" same_as "expensiveCommands='git commit'"
|
|
assert "${lines[3]}" same_as "gc='git commit'"
|
|
assert "${lines[4]}" same_as "g=git"
|
|
}
|
|
|
|
@test 'find aliases excluding expensive (longer) than input when --cheap option is set' {
|
|
set_git_aliases
|
|
alias expensiveCommands="git commit"
|
|
|
|
run alias-finder -c "git commit -v"
|
|
|
|
assert "${#lines[@]}" equals 3
|
|
assert "${lines[1]}" same_as "gcv='git commit -v'"
|
|
assert "${lines[2]}" same_as "gc='git commit'"
|
|
assert "${lines[3]}" same_as "g=git"
|
|
}
|