diff options
author | Christian Couder <christian.couder@gmail.com> | 2019-06-15 13:07:00 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-06-18 04:11:41 +0300 |
commit | c1f7f53834636081af83743737a45e3c7fee7ee0 (patch) | |
tree | 4c1ebb0f877d666b4a42cdeff8c3affdd14ccd28 /t/t0016-oidmap.sh | |
parent | 11510decd020c3cb8936432d4d4bfb214492fcc4 (diff) |
t: add t0016-oidmap.sh
Add actual tests for operations using `struct oidmap` from oidmap.{c,h}.
Helped-by: SZEDER Gábor <szeder.dev@gmail.com>
Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0016-oidmap.sh')
-rwxr-xr-x | t/t0016-oidmap.sh | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/t/t0016-oidmap.sh b/t/t0016-oidmap.sh new file mode 100755 index 0000000000..af17264ce3 --- /dev/null +++ b/t/t0016-oidmap.sh @@ -0,0 +1,84 @@ +#!/bin/sh + +test_description='test oidmap' +. ./test-lib.sh + +# This purposefully is very similar to t0011-hashmap.sh + +test_oidmap () { + echo "$1" | test-tool oidmap $3 >actual && + echo "$2" >expect && + test_cmp expect actual +} + + +test_expect_success 'setup' ' + + test_commit one && + test_commit two && + test_commit three && + test_commit four + +' + +test_expect_success 'put' ' + +test_oidmap "put one 1 +put two 2 +put invalidOid 4 +put three 3" "NULL +NULL +Unknown oid: invalidOid +NULL" + +' + +test_expect_success 'replace' ' + +test_oidmap "put one 1 +put two 2 +put three 3 +put invalidOid 4 +put two deux +put one un" "NULL +NULL +NULL +Unknown oid: invalidOid +2 +1" + +' + +test_expect_success 'get' ' + +test_oidmap "put one 1 +put two 2 +put three 3 +get two +get four +get invalidOid +get one" "NULL +NULL +NULL +2 +NULL +Unknown oid: invalidOid +1" + +' + +test_expect_success 'iterate' ' + +test_oidmap "put one 1 +put two 2 +put three 3 +iterate" "NULL +NULL +NULL +$(git rev-parse two) 2 +$(git rev-parse one) 1 +$(git rev-parse three) 3" + +' + +test_done |