Parent directory

test_run.sh

2747 bytes
  1#!/usr/bin/env zunit
  2
  3@setup {
  4  load ../alias-finder.plugin.zsh
  5
  6  set_git_aliases() {
  7    unalias -a # all
  8    alias g="git"
  9    alias gc="git commit"
 10    alias gcv="git commit -v"
 11    alias gcvs="git commit -v -S"
 12  }
 13}
 14
 15@test 'find aliases that contain input' {
 16  set_git_aliases
 17
 18  run alias-finder "git"
 19
 20  assert "${#lines[@]}" equals 1
 21  assert "${lines[1]}" same_as "g=git"
 22}
 23
 24@test 'find aliases that contain input with whitespaces at ends' {
 25  set_git_aliases
 26
 27  run alias-finder "   git     "
 28
 29  assert "${#lines[@]}" equals 1
 30  assert "${lines[1]}" same_as "g=git"
 31}
 32
 33@test 'find aliases that contain multiple words' {
 34  set_git_aliases
 35
 36  run alias-finder "git commit -v"
 37
 38  assert "${#lines[@]}" equals 3
 39  assert "${lines[1]}" same_as "gcv='git commit -v'"
 40  assert "${lines[2]}" same_as "gc='git commit'"
 41  assert "${lines[3]}" same_as "g=git"
 42}
 43
 44@test 'find alias that is the same with input when --exact option is set' {
 45  set_git_aliases
 46
 47  run alias-finder -e "git"
 48
 49  assert "${#lines[@]}" equals 1
 50  assert "${lines[1]}" same_as "g=git"
 51}
 52
 53@test 'find alias that is the same with multiple words input when --exact option is set' {
 54  set_git_aliases
 55
 56  run alias-finder -e "git commit -v"
 57
 58  assert "${#lines[@]}" equals 1
 59  assert "${lines[1]}" same_as "gcv='git commit -v'"
 60}
 61
 62@test 'find alias that is the same with or longer than input when --longer option is set' {
 63  set_git_aliases
 64
 65  run alias-finder -l "git"
 66
 67  assert "${#lines[@]}" equals 4
 68  assert "${lines[1]}" same_as "g=git"
 69  assert "${lines[2]}" same_as "gc='git commit'"
 70  assert "${lines[3]}" same_as "gcv='git commit -v'"
 71  assert "${lines[4]}" same_as "gcvs='git commit -v -S'"
 72}
 73
 74@test 'find alias that is the same with or longer than multiple words input when --longer option is set' {
 75  set_git_aliases
 76
 77  run alias-finder -l "git commit -v"
 78
 79  assert "${#lines[@]}" equals 2
 80  assert "${lines[1]}" same_as "gcv='git commit -v'"
 81  assert "${lines[2]}" same_as "gcvs='git commit -v -S'"
 82}
 83
 84@test 'find aliases including expensive (longer) than input' {
 85  set_git_aliases
 86  alias expensiveCommands="git commit"
 87
 88  run alias-finder "git commit -v"
 89
 90  assert "${#lines[@]}" equals 4
 91  assert "${lines[1]}" same_as "gcv='git commit -v'"
 92  assert "${lines[2]}" same_as "expensiveCommands='git commit'"
 93  assert "${lines[3]}" same_as "gc='git commit'"
 94  assert "${lines[4]}" same_as "g=git"
 95}
 96
 97@test 'find aliases excluding expensive (longer) than input when --cheap option is set' {
 98  set_git_aliases
 99  alias expensiveCommands="git commit"
100
101  run alias-finder -c "git commit -v"
102
103  assert "${#lines[@]}" equals 3
104  assert "${lines[1]}" same_as "gcv='git commit -v'"
105  assert "${lines[2]}" same_as "gc='git commit'"
106  assert "${lines[3]}" same_as "g=git"
107}