| #!/bin/sh | |
| test_description='various @{whatever} syntax tests' | |
| . ./test-lib.sh | |
| test_expect_success 'setup' ' | |
| test_commit one && | |
| test_commit two | |
| ' | |
| check_at() { | |
| echo "$2" >expect && | |
| git log -1 --format=%s "$1" >actual && | |
| test_cmp expect actual | |
| } | |
| test_expect_success '@{0} shows current' ' | |
| check_at @{0} two | |
| ' | |
| test_expect_success '@{1} shows old' ' | |
| check_at @{1} one | |
| ' | |
| test_expect_success '@{now} shows current' ' | |
| check_at @{now} two | |
| ' | |
| test_expect_success '@{2001-09-17} (before the first commit) shows old' ' | |
| check_at @{2001-09-17} one | |
| ' | |
| test_expect_success 'silly approxidates work' ' | |
| check_at @{3.hot.dogs.on.2001-09-17} one | |
| ' | |
| test_expect_success 'notice misspelled upstream' ' | |
| test_must_fail git log -1 --format=%s @{usptream} | |
| ' | |
| test_expect_success 'complain about total nonsense' ' | |
| test_must_fail git log -1 --format=%s @{utter.bogosity} | |
| ' | |
| test_done |