t / lib-patch-mode.shon commit Add a small patch-mode testing library (b319ef7)
   1. ./test-lib.sh
   2
   3set_state () {
   4        echo "$3" > "$1" &&
   5        git add "$1" &&
   6        echo "$2" > "$1"
   7}
   8
   9save_state () {
  10        noslash="$(echo "$1" | tr / _)" &&
  11        cat "$1" > _worktree_"$noslash" &&
  12        git show :"$1" > _index_"$noslash"
  13}
  14
  15set_and_save_state () {
  16        set_state "$@" &&
  17        save_state "$1"
  18}
  19
  20verify_state () {
  21        test "$(cat "$1")" = "$2" &&
  22        test "$(git show :"$1")" = "$3"
  23}
  24
  25verify_saved_state () {
  26        noslash="$(echo "$1" | tr / _)" &&
  27        verify_state "$1" "$(cat _worktree_"$noslash")" "$(cat _index_"$noslash")"
  28}
  29
  30save_head () {
  31        git rev-parse HEAD > _head
  32}
  33
  34verify_saved_head () {
  35        test "$(cat _head)" = "$(git rev-parse HEAD)"
  36}