feat(alias-finder): add cheaper option and apply zstyle options (#11773)
parent
c92af18c36
commit
13a8e3d98a
7 changed files with 186 additions and 66 deletions
@ -0,0 +1,9 @@ |
||||
tap: false |
||||
directories: |
||||
tests: tests |
||||
output: tests/_output |
||||
support: tests/_support |
||||
time_limit: 0 |
||||
fail_fast: false |
||||
allow_risky: false |
||||
verbose: true |
||||
@ -0,0 +1,2 @@ |
||||
#!/usr/bin/env zsh |
||||
# Write your bootstrap code here |
||||
@ -0,0 +1,107 @@ |
||||
#!/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" |
||||
} |
||||
Loading…
Reference in new issue