summaryrefslogtreecommitdiff
path: root/t/t0069-oidtree.sh
blob: 74cc59bf8a7de8dfe1f4605c5cd1059d889bc4c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh

test_description='basic tests for the oidtree implementation'
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh

maxhexsz=$(test_oid hexsz)
echoid () {
	prefix="${1:+$1 }"
	shift
	while test $# -gt 0
	do
		shortoid="$1"
		shift
		difference=$(($maxhexsz - ${#shortoid}))
		printf "%s%s%0${difference}d\\n" "$prefix" "$shortoid" "0"
	done
}

test_expect_success 'oidtree insert and contains' '
	cat >expect <<-\EOF &&
		0
		0
		0
		1
		1
		0
	EOF
	{
		echoid insert 444 1 2 3 4 5 a b c d e &&
		echoid contains 44 441 440 444 4440 4444
		echo clear
	} | test-tool oidtree >actual &&
	test_cmp expect actual
'

test_expect_success 'oidtree each' '
	echoid "" 123 321 321 >expect &&
	{
		echoid insert f 9 8 123 321 a b c d e
		echo each 12300
		echo each 3211
		echo each 3210
		echo each 32100
		echo clear
	} | test-tool oidtree >actual &&
	test_cmp expect actual
'

test_done