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
51
52
53
54
55
56
57
58
59
60
|
test_description='Check the ref listing limits'
. ./setup.sh
test_expect_success 'set up limit fixtures' '
mkrepo repos/limits 1 &&
(
cd repos/limits &&
seq 1 60 >big.c &&
printf "int x;\n" >small.c &&
git add -A &&
git commit -m sources &&
seq 301 360 >big.c &&
printf "int y;\n" >small.c &&
git commit -am change &&
for i in 1 2 3; do git branch branch-$i || exit 1; done &&
for i in 1 2 3; do git tag tag-$i || exit 1; done
) &&
{
echo "virtual-root=/" &&
echo "cache-size=0" &&
echo "max-ref-count=2" &&
echo "repo.url=limits" &&
echo "repo.path=$PWD/repos/limits/.git"
} >limitrc
'
limitq() { CGIT_CONFIG="$PWD/limitrc" QUERY_STRING="$1" cgit; }
test_expect_success 'refs page lists max-ref-count branches and tags' '
limitq "url=limits/refs/" >tmp &&
test $(grep -c "log/?h=" tmp) -eq 2 &&
test $(grep -c "/tag/?h=tag-" tmp) -eq 2
'
test_expect_success 'refs page links each overflow to its own category' '
grep "refs/heads" tmp &&
grep "refs/tags" tmp
'
test_expect_success 'branch page paginates independently' '
limitq "url=limits/refs/heads/" >tmp &&
test $(grep -c "log/?h=" tmp) -eq 2 &&
grep "\[next\]" tmp &&
limitq "url=limits/refs/heads/&ofs=2" >tmp &&
grep "\[prev\]" tmp &&
! grep "/tag/?h=tag-" tmp
'
test_expect_success 'tag page paginates independently' '
limitq "url=limits/refs/tags/&ofs=2" >tmp &&
grep "/tag/?h=tag-" tmp &&
grep "\[prev\]" tmp &&
! grep "log/?h=" tmp
'
test_done
|