List for cgit developers and users
 help / color / mirror / Atom feed
* [PATCH/RFC] tests/: Add t0111-filter.sh
@ 2014-01-14 11:01 cgit
  2014-01-14 12:54 ` Jason
  0 siblings, 1 reply; 2+ messages in thread
From: cgit @ 2014-01-14 11:01 UTC (permalink / raw)


This adds basic tests for all types of exec filters.

Signed-off-by: Lukas Fleischer <cgit at cryptocrack.de>
---
This only includes tests for exec filters so far. I will send another
patch for Lua filters once this one is merged.

 tests/filters/capitalize-argv1.sh |  3 +++
 tests/filters/capitalize-stdin.sh |  3 +++
 tests/setup.sh                    | 13 +++++++++++++
 tests/t0111-filter.sh             | 38 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 57 insertions(+)
 create mode 100755 tests/filters/capitalize-argv1.sh
 create mode 100755 tests/filters/capitalize-stdin.sh
 create mode 100755 tests/t0111-filter.sh

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 at EXAMPLE.COM>" tmp
+'
+
+test_expect_success 'check whether the email filter works for committers' '
+	grep "<COMMITTER at EXAMPLE.COM>" tmp
+'
+
+test_done
-- 
1.8.5.2



^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH/RFC] tests/: Add t0111-filter.sh
  2014-01-14 11:01 [PATCH/RFC] tests/: Add t0111-filter.sh cgit
@ 2014-01-14 12:54 ` Jason
  0 siblings, 0 replies; 2+ messages in thread
From: Jason @ 2014-01-14 12:54 UTC (permalink / raw)


Terrific! I was hoping something like this would come about. Looking
forward to seeing the lua side of things.

There's another change I'm going to be pushing later today that
involves being able to do meaningful things with the
cgit_filter_close() exit code. I'll then be using this to /maybe/
implement a basic authentication infrastructure. Stand by! Exciting
things are happening.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-01-14 12:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-14 11:01 [PATCH/RFC] tests/: Add t0111-filter.sh cgit
2014-01-14 12:54 ` Jason

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).