t / t1508-at-combinations.shon commit Merge branch 'gp/avoid-explicit-mention-of-dot-git-refs' (9adf272)
   1#!/bin/sh
   2
   3test_description='test various @{X} syntax combinations together'
   4. ./test-lib.sh
   5
   6check() {
   7test_expect_${3:-success} "$1 = $2" "
   8        echo '$2' >expect &&
   9        git log -1 --format=%s '$1' >actual &&
  10        test_cmp expect actual
  11"
  12}
  13nonsense() {
  14test_expect_${2:-success} "$1 is nonsensical" "
  15        test_must_fail git log -1 '$1'
  16"
  17}
  18fail() {
  19        "$@" failure
  20}
  21
  22test_expect_success 'setup' '
  23        test_commit master-one &&
  24        test_commit master-two &&
  25        git checkout -b upstream-branch &&
  26        test_commit upstream-one &&
  27        test_commit upstream-two &&
  28        git checkout -b old-branch &&
  29        test_commit old-one &&
  30        test_commit old-two &&
  31        git checkout -b new-branch &&
  32        test_commit new-one &&
  33        test_commit new-two &&
  34        git config branch.old-branch.remote . &&
  35        git config branch.old-branch.merge refs/heads/master &&
  36        git config branch.new-branch.remote . &&
  37        git config branch.new-branch.merge refs/heads/upstream-branch
  38'
  39
  40check HEAD new-two
  41check "@{1}" new-one
  42check "@{-1}" old-two
  43check "@{-1}@{1}" old-one
  44check "@{u}" upstream-two
  45check "@{u}@{1}" upstream-one
  46check "@{-1}@{u}" master-two
  47check "@{-1}@{u}@{1}" master-one
  48nonsense "@{u}@{-1}"
  49nonsense "@{1}@{u}"
  50
  51test_done