neocgit

a more 'modern' version of cgit
Log | Files | Refs | Submodules | README | LICENSE | git clone https://git.ne02ptzero.me/git/neocgit

commit caf557a2ba666ad87a1ebd5b40750feaf1bd631f
parent 8ae1d8b8fd0b097b10716d0d2d8acaadbd7a46f7
Author: Lukas Fleischer <cgit@cryptocrack.de>
Date:   Tue, 14 Jan 2014 22:25:45 +0100

t0111: Add basic tests for Lua filters

* Validate the email filter by manipulating stdin. Additional checks for
  all the arguments can be added in a later patch.

* Add the exec prefix to all informational messages.

* Rename the filter repository to filter-exec. The Git repository itself
  is not renamed since it can be shared amongst all filter types.

* In the filter checks, check whether all arguments are passed properly
  instead of validating the buffer/stdin only.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>

Diffstat:
Dtests/filters/capitalize-argv1.sh | 3---
Atests/filters/capitalize-buffer.lua | 17+++++++++++++++++
Mtests/filters/capitalize-stdin.sh | 1+
Mtests/setup.sh | 13+++++++++++--
Mtests/t0111-filter.sh | 65++++++++++++++++++++++++++++++++++-------------------------------
5 files changed, 63 insertions(+), 36 deletions(-)

diff --git a/tests/filters/capitalize-argv1.sh b/tests/filters/capitalize-argv1.sh @@ -1,3 +0,0 @@ -#!/bin/sh - -echo "$1" | tr '[:lower:]' '[:upper:]' diff --git a/tests/filters/capitalize-buffer.lua b/tests/filters/capitalize-buffer.lua @@ -0,0 +1,17 @@ +function filter_open(...) + buffer = "" + for i = 1, select("#", ...) do + buffer = buffer .. select(i, ...) .. " " + end +end + +function filter_close() + html(buffer) + return 0 +end + +function filter_write(str) + buffer = buffer .. string.upper(str) +end + + diff --git a/tests/filters/capitalize-stdin.sh b/tests/filters/capitalize-stdin.sh @@ -1,3 +1,4 @@ #!/bin/sh +[ "$#" -gt 0 ] && printf "%s " "$*" tr '[:lower:]' '[:upper:]' diff --git a/tests/setup.sh b/tests/setup.sh @@ -125,14 +125,23 @@ repo.url=with space repo.path=$PWD/repos/with space/.git repo.desc=spaced repo -repo.url=filter +repo.url=filter-exec 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.email-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh repo.source-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh repo.readme=master:a+b + +repo.url=filter-lua +repo.path=$PWD/repos/filter/.git +repo.desc=filtered repo +repo.about-filter=lua:$FILTER_DIRECTORY/capitalize-buffer.lua +repo.commit-filter=lua:$FILTER_DIRECTORY/capitalize-buffer.lua +repo.email-filter=lua:$FILTER_DIRECTORY/capitalize-buffer.lua +repo.source-filter=lua:$FILTER_DIRECTORY/capitalize-buffer.lua +repo.readme=master:a+b EOF } diff --git a/tests/t0111-filter.sh b/tests/t0111-filter.sh @@ -3,36 +3,39 @@ 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 -' +for prefix in exec lua +do + test_expect_success "generate filter-$prefix/tree/a%2bb" " + cgit_url 'filter-$prefix/tree/a%2bb' >tmp + " + + test_expect_success "check whether the $prefix source filter works" ' + grep "<code>a+b HELLO$" tmp + ' + + test_expect_success "generate filter-$prefix/about/" " + cgit_url 'filter-$prefix/about/' >tmp + " + + test_expect_success "check whether the $prefix about filter works" ' + grep "<div id='"'"'summary'"'"'>a+b HELLO$" tmp + ' + + test_expect_success "generate filter-$prefix/commit/" " + cgit_url 'filter-$prefix/commit/' >tmp + " + + test_expect_success "check whether the $prefix commit filter works" ' + grep "<div class='"'"'commit-subject'"'"'>ADD A+B" tmp + ' + + test_expect_success "check whether the $prefix email filter works for authors" ' + grep "A U THOR &LT;AUTHOR@EXAMPLE.COM&GT;" tmp + ' + + test_expect_success "check whether the $prefix email filter works for committers" ' + grep "C O MITTER &LT;COMMITTER@EXAMPLE.COM&GT;" tmp + ' +done test_done