aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <cgit@cryptocrack.de>2014-01-14 11:13:08 +0100
committerLukas Fleischer <cgit@cryptocrack.de>2014-01-14 12:01:11 +0100
commit77ac382607ab9a8bbd410a560d853d58aca6daf1 (patch)
tree7b639e6217a85d12858ecec31b2416038e3149e9
parentfilter: refactor cgit_new_filter() (diff)
downloadcgit-lf/filter.tar.xz
cgit-lf/filter.zip
tests/: Add t0111-filter.shlf/filter
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 @@
+#!/bin/sh
+
+echo "$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 @@
+#!/bin/sh
+
+tr '[: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
PATH="$(pwd)/../..:$PATH"
fi
+FILTER_DIRECTORY=$(cd ../filters && pwd)
+
mkrepo() {
name=$1
count=$2
@@ -90,6 +92,7 @@ setup_repos()
mkrepo repos/bar 50 >/dev/null
mkrepo repos/foo+bar 10 testplus >/dev/null
mkrepo "repos/with space" 2 >/dev/null
+ mkrepo repos/filter 5 testplus >/dev/null
cat >cgitrc <<EOF
virtual-root=/
cache-root=$PWD/cache
@@ -102,6 +105,7 @@ summary-log=5
summary-branches=5
summary-tags=5
clone-url=git://example.org/\$CGIT_REPO_URL.git
+enable-filter-overrides=1
repo.url=foo
repo.path=$PWD/repos/foo/.git
@@ -120,6 +124,15 @@ repo.desc=the foo+bar repo
repo.url=with space
repo.path=$PWD/repos/with space/.git
repo.desc=spaced repo
+
+repo.url=filter
+repo.path=$PWD/repos/filter/.git
+repo.desc=filtered repo
+repo.about-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh
+repo.commit-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh
+repo.email-filter=exec:$FILTER_DIRECTORY/capitalize-argv1.sh
+repo.source-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh
+repo.readme=master:a+b
EOF
}
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 @@
+#!/bin/sh
+
+test_description='Check filtered content'
+. ./setup.sh
+
+test_expect_success 'generate filter/tree/a%2bb' '
+ cgit_url "filter/tree/a%2bb" >tmp
+'
+
+test_expect_success 'check whether the source filter works' '
+ grep "<code>HELLO$" tmp
+'
+
+test_expect_success 'generate filter/about/' '
+ cgit_url "filter/about/" >tmp
+'
+
+test_expect_success 'check whether the about filter works' '
+ grep "<div id='"'"'summary'"'"'>HELLO$" tmp
+'
+
+test_expect_success 'generate filter/commit/' '
+ cgit_url "filter/commit/" >tmp
+'
+
+test_expect_success 'check whether the commit filter works' '
+ grep "<div class='"'"'commit-subject'"'"'>ADD A+B" tmp
+'
+
+test_expect_success 'check whether the email filter works for authors' '
+ grep "<AUTHOR@EXAMPLE.COM>" tmp
+'
+
+test_expect_success 'check whether the email filter works for committers' '
+ grep "<COMMITTER@EXAMPLE.COM>" tmp
+'
+
+test_done