aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer2014-01-14 12:01:06 +0100
committerJason A. Donenfeld2014-01-14 13:55:53 +0100
commitce56d89a2662549acd178292450798f5ffcd4bc6 (patch)
tree273b423beda8ced8cec3228f02dbf2554ebb26a8
parent1167dbb95bcd6bb2916312a7900e360c101e7eca (diff)
downloadcgit-ce56d89a2662549acd178292450798f5ffcd4bc6.tar.gz
cgit-ce56d89a2662549acd178292450798f5ffcd4bc6.tar.bz2
cgit-ce56d89a2662549acd178292450798f5ffcd4bc6.zip
tests/: Add t0111-filter.sh
This adds basic tests for all types of exec filters. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
-rwxr-xr-xtests/filters/capitalize-argv1.sh3
-rwxr-xr-xtests/filters/capitalize-stdin.sh3
-rwxr-xr-xtests/setup.sh13
-rwxr-xr-xtests/t0111-filter.sh38
4 files changed, 57 insertions, 0 deletions
diff --git a/tests/filters/capitalize-argv1.sh b/tests/filters/capitalize-argv1.sh
new file mode 100755
index 0000000..2ea0098
--- /dev/null
+++ b/tests/filters/capitalize-argv1.sh
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3echo "$1" | tr '[:lower:]' '[:upper:]'
diff --git a/tests/filters/capitalize-stdin.sh b/tests/filters/capitalize-stdin.sh
new file mode 100755
index 0000000..c9f4719
--- /dev/null
+++ b/tests/filters/capitalize-stdin.sh
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3tr '[:lower:]' '[:upper:]'
diff --git a/tests/setup.sh b/tests/setup.sh
index 5476ced..861f48a 100755
--- a/tests/setup.sh
+++ b/tests/setup.sh
@@ -58,6 +58,8 @@ else
58 PATH="$(pwd)/../..:$PATH" 58 PATH="$(pwd)/../..:$PATH"
59fi 59fi
60 60
61FILTER_DIRECTORY=$(cd ../filters && pwd)
62
61mkrepo() { 63mkrepo() {
62 name=$1 64 name=$1
63 count=$2 65 count=$2
@@ -90,6 +92,7 @@ setup_repos()
90 mkrepo repos/bar 50 >/dev/null 92 mkrepo repos/bar 50 >/dev/null
91 mkrepo repos/foo+bar 10 testplus >/dev/null 93 mkrepo repos/foo+bar 10 testplus >/dev/null
92 mkrepo "repos/with space" 2 >/dev/null 94 mkrepo "repos/with space" 2 >/dev/null
95 mkrepo repos/filter 5 testplus >/dev/null
93 cat >cgitrc <<EOF 96 cat >cgitrc <<EOF
94virtual-root=/ 97virtual-root=/
95cache-root=$PWD/cache 98cache-root=$PWD/cache
@@ -102,6 +105,7 @@ summary-log=5
102summary-branches=5 105summary-branches=5
103summary-tags=5 106summary-tags=5
104clone-url=git://example.org/\$CGIT_REPO_URL.git 107clone-url=git://example.org/\$CGIT_REPO_URL.git
108enable-filter-overrides=1
105 109
106repo.url=foo 110repo.url=foo
107repo.path=$PWD/repos/foo/.git 111repo.path=$PWD/repos/foo/.git
@@ -120,6 +124,15 @@ repo.desc=the foo+bar repo
120repo.url=with space 124repo.url=with space
121repo.path=$PWD/repos/with space/.git 125repo.path=$PWD/repos/with space/.git
122repo.desc=spaced repo 126repo.desc=spaced repo
127
128repo.url=filter
129repo.path=$PWD/repos/filter/.git
130repo.desc=filtered repo
131repo.about-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh
132repo.commit-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh
133repo.email-filter=exec:$FILTER_DIRECTORY/capitalize-argv1.sh
134repo.source-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh
135repo.readme=master:a+b
123EOF 136EOF
124} 137}
125 138
diff --git a/tests/t0111-filter.sh b/tests/t0111-filter.sh
new file mode 100755
index 0000000..2f99880
--- /dev/null
+++ b/tests/t0111-filter.sh
@@ -0,0 +1,38 @@
1#!/bin/sh
2
3test_description='Check filtered content'
4. ./setup.sh
5
6test_expect_success 'generate filter/tree/a%2bb' '
7 cgit_url "filter/tree/a%2bb" >tmp
8'
9
10test_expect_success 'check whether the source filter works' '
11 grep "<code>HELLO$" tmp
12'
13
14test_expect_success 'generate filter/about/' '
15 cgit_url "filter/about/" >tmp
16'
17
18test_expect_success 'check whether the about filter works' '
19 grep "<div id='"'"'summary'"'"'>HELLO$" tmp
20'
21
22test_expect_success 'generate filter/commit/' '
23 cgit_url "filter/commit/" >tmp
24'
25
26test_expect_success 'check whether the commit filter works' '
27 grep "<div class='"'"'commit-subject'"'"'>ADD A+B" tmp
28'
29
30test_expect_success 'check whether the email filter works for authors' '
31 grep "<AUTHOR@EXAMPLE.COM>" tmp
32'
33
34test_expect_success 'check whether the email filter works for committers' '
35 grep "<COMMITTER@EXAMPLE.COM>" tmp
36'
37
38test_done