tests/: Add t0111-filter.sh

This adds basic tests for all types of exec filters.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2014-01-14 11:13:08 +01:00
parent 80f87c1003
commit 77ac382607
4 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,3 @@
#!/bin/sh
echo "$1" | tr '[:lower:]' '[:upper:]'

View File

@ -0,0 +1,3 @@
#!/bin/sh
tr '[:lower:]' '[:upper:]'

View File

@ -58,6 +58,8 @@ else
PATH="$(pwd)/../..:$PATH" PATH="$(pwd)/../..:$PATH"
fi fi
FILTER_DIRECTORY=$(cd ../filters && pwd)
mkrepo() { mkrepo() {
name=$1 name=$1
count=$2 count=$2
@ -90,6 +92,7 @@ setup_repos()
mkrepo repos/bar 50 >/dev/null mkrepo repos/bar 50 >/dev/null
mkrepo repos/foo+bar 10 testplus >/dev/null mkrepo repos/foo+bar 10 testplus >/dev/null
mkrepo "repos/with space" 2 >/dev/null mkrepo "repos/with space" 2 >/dev/null
mkrepo repos/filter 5 testplus >/dev/null
cat >cgitrc <<EOF cat >cgitrc <<EOF
virtual-root=/ virtual-root=/
cache-root=$PWD/cache cache-root=$PWD/cache
@ -102,6 +105,7 @@ summary-log=5
summary-branches=5 summary-branches=5
summary-tags=5 summary-tags=5
clone-url=git://example.org/\$CGIT_REPO_URL.git clone-url=git://example.org/\$CGIT_REPO_URL.git
enable-filter-overrides=1
repo.url=foo repo.url=foo
repo.path=$PWD/repos/foo/.git repo.path=$PWD/repos/foo/.git
@ -120,6 +124,15 @@ repo.desc=the foo+bar repo
repo.url=with space repo.url=with space
repo.path=$PWD/repos/with space/.git repo.path=$PWD/repos/with space/.git
repo.desc=spaced repo 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 EOF
} }

38
tests/t0111-filter.sh Executable file
View File

@ -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