diff options
author | Lukas Fleischer | 2014-01-14 12:01:06 +0100 |
---|---|---|
committer | Jason A. Donenfeld | 2014-01-14 13:55:53 +0100 |
commit | ce56d89a2662549acd178292450798f5ffcd4bc6 (patch) | |
tree | 273b423beda8ced8cec3228f02dbf2554ebb26a8 /tests | |
parent | 1167dbb95bcd6bb2916312a7900e360c101e7eca (diff) | |
download | cgit-ce56d89a2662549acd178292450798f5ffcd4bc6.tar.gz |
tests/: Add t0111-filter.sh
This adds basic tests for all types of exec filters.
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Diffstat (limited to '')
-rwxr-xr-x | tests/filters/capitalize-argv1.sh | 3 | ||||
-rwxr-xr-x | tests/filters/capitalize-stdin.sh | 3 | ||||
-rwxr-xr-x | tests/setup.sh | 13 | ||||
-rwxr-xr-x | tests/t0111-filter.sh | 38 |
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 |