aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tests/t0111-filter.sh
blob: 2fdc3669f492745b464c2a2fa593c15802acbe79 (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
#!/bin/sh

test_description='Check filtered content'
. ./setup.sh

prefixes="exec"
if [ $CGIT_HAS_LUA -eq 1 ]; then
	prefixes="$prefixes lua"
fi

for prefix in $prefixes
do
	test_expect_success "generate filter-$prefix/tree/a%2bb" "
		cgit_url 'filter-$prefix/tree/a%2bb' >tmp
	"

	test_expect_success "check whether the $prefix source filter works" '
		grep "<code>a+b HELLO$" tmp
	'

	test_expect_success "generate filter-$prefix/about/" "
		cgit_url 'filter-$prefix/about/' >tmp
	"

	test_expect_success "check whether the $prefix about filter works" '
		grep "<div id='"'"'summary'"'"'>a+b HELLO$" tmp
	'

	test_expect_success "generate filter-$prefix/commit/" "
		cgit_url 'filter-$prefix/commit/' >tmp
	"

	test_expect_success "check whether the $prefix commit filter works" '
		grep "<div class='"'"'commit-subject'"'"'>ADD A+B" tmp
	'

	test_expect_success "check whether the $prefix email filter works for authors" '
		grep "<author@example.com> commit A U THOR &LT;AUTHOR@EXAMPLE.COM&GT;" tmp
	'

	test_expect_success "check whether the $prefix email filter works for committers" '
		grep "<committer@example.com> commit C O MITTER &LT;COMMITTER@EXAMPLE.COM&GT;" tmp
	'
done

test_done
new_rev = ctx.qry.head; if (get_sha1(new_rev, new_rev_sha1)) { cgit_print_error("Bad object id: %s", new_rev); return; } commit = lookup_commit_reference(new_rev_sha1); if (!commit) { cgit_print_error("Bad commit reference: %s", new_rev); return; } if (old_rev) { if (get_sha1(old_rev, old_rev_sha1)) { cgit_print_error("Bad object id: %s", old_rev); return; } if (!lookup_commit_reference(old_rev_sha1)) { cgit_print_error("Bad commit reference: %s", old_rev); return; } } else if (commit->parents && commit->parents->item) { hashcpy(old_rev_sha1, commit->parents->item->object.sha1); } else { hashclr(old_rev_sha1); } if (is_null_sha1(old_rev_sha1)) { memcpy(rev_range, sha1_to_hex(new_rev_sha1), 41); } else { sprintf(rev_range, "%s..%s", sha1_to_hex(old_rev_sha1), sha1_to_hex(new_rev_sha1)); } patchname = fmt("%s.patch", rev_range); ctx.page.mimetype = "text/plain"; ctx.page.filename = patchname; cgit_print_http_headers(); if (ctx.cfg.noplainemail) { rev_argv[2] = "--format=format:From %H Mon Sep 17 00:00:00 " "2001%nFrom: %an%nDate: %aD%n%w(78,0,1)Subject: " "%s%n%n%w(0)%b"; } init_revisions(&rev, NULL); rev.abbrev = DEFAULT_ABBREV; rev.verbose_header = 1; rev.diff = 1; rev.show_root_diff = 1; rev.max_parents = 1; rev.diffopt.output_format |= DIFF_FORMAT_PATCH; setup_revisions(ARRAY_SIZE(rev_argv), (const char **)rev_argv, &rev, NULL); prepare_revision_walk(&rev); while ((commit = get_revision(&rev)) != NULL) { log_tree_commit(&rev, commit); printf("-- \ncgit %s\n\n", cgit_version); } }