From caf557a2ba666ad87a1ebd5b40750feaf1bd631f Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Tue, 14 Jan 2014 22:25:45 +0100 Subject: 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 --- tests/filters/capitalize-argv1.sh | 3 -- tests/filters/capitalize-buffer.lua | 17 ++++++++++ tests/filters/capitalize-stdin.sh | 1 + tests/setup.sh | 13 ++++++-- tests/t0111-filter.sh | 65 +++++++++++++++++++------------------ 5 files changed, 63 insertions(+), 36 deletions(-) delete mode 100755 tests/filters/capitalize-argv1.sh create mode 100644 tests/filters/capitalize-buffer.lua diff --git a/tests/filters/capitalize-argv1.sh b/tests/filters/capitalize-argv1.sh deleted file mode 100755 index 2ea0098..0000000 --- a/tests/filters/capitalize-argv1.sh +++ /dev/null @@ -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 new file mode 100644 index 0000000..1f15c93 --- /dev/null +++ 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 index c9f4719..da6f7a1 100755 --- 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 index 861f48a..12c97f5 100755 --- 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 index 2f99880..c89020a 100755 --- 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 "HELLO$" tmp -' - -test_expect_success 'generate filter/about/' ' - cgit_url "filter/about/" >tmp -' - -test_expect_success 'check whether the about filter works' ' - grep "
HELLO$" tmp -' - -test_expect_success 'generate filter/commit/' ' - cgit_url "filter/commit/" >tmp -' - -test_expect_success 'check whether the commit filter works' ' - grep "
ADD A+B" tmp -' - -test_expect_success 'check whether the email filter works for authors' ' - grep "" tmp -' - -test_expect_success 'check whether the email filter works for committers' ' - grep "" 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 "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 "
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 "
ADD A+B" tmp + ' + + test_expect_success "check whether the $prefix email filter works for authors" ' + grep "A U THOR <AUTHOR@EXAMPLE.COM>" tmp + ' + + test_expect_success "check whether the $prefix email filter works for committers" ' + grep "C O MITTER <COMMITTER@EXAMPLE.COM>" tmp + ' +done test_done -- cgit 1.4.1 n>Disable mouse in htopJune McEnroe I feel like this option is new, otherwise I would have unset it before. 2020-12-03Note lack of macro expansions in Q(...)June McEnroe 2020-12-02Fix missing "to" in "hot tips"June McEnroe 2020-12-02Publish "hot tips"June McEnroe 2020-11-26Publish "Inability"June McEnroe I don't know, it's something. 2020-11-26Render content into atom feedJune McEnroe And fix some atom lints. 2020-11-26Update plan with different things I won't doJune McEnroe 2020-11-19Add "Come On Petunia"June McEnroe 2020-11-13Add x4 to LESSJune McEnroe 2020-11-04Remove modified sensitivity settingsJune McEnroe 2020-10-29Remove editJune McEnroe 2020-10-27Switch gr alias back to git rebaseJune McEnroe I always type out git reset and sometimes still expect gr to be rebase... Never got used to it I guess. 2020-10-27Allow cd host: to cd to same path over sshJune McEnroe 2020-10-27Use SendEnv for cd host:pathJune McEnroe Works properly for weird paths, etc. 2020-10-27Allow cd host:path over sshJune McEnroe Requires AcceptEnv SSH_CD in the remote sshd_config. 2020-10-07Use mandoc -T utf8 for text.June McEnroe Don't depend on LANG being set. 2020-09-20Add The Awakened KingdomJune McEnroe A cute extra novella. Finally finished this series. 2020-09-12Move /opt/local back, cheat port select to use system manJune McEnroe This is not really how you're supposed to use the select system, I don't think, since the mandoc package actually creates those files, but it does work. This lets me actually use the git installed by MacPorts. 2020-09-12Move /opt/local behind /usr againJune McEnroe The reason I did this with pkgsrc was because I actually don't want the man(1) from mandoc, since it won't follow MANSECT. Same applies to MacPorts. I wish I could disable its man(1) with a variant or whatever. 2020-09-12Enable toc in cgit renderings of man pagesJune McEnroe But keep it disabled for READMEs since they always use non-standard sections and the TOC is just distracting there, I think. Also add the style so its h1 is the same size as the ones inside sections... 2020-09-11Install mandoc on macOSJune McEnroe 2020-09-11Rewrite install script yet againJune McEnroe 2020-09-11Remove NetBSD from install scriptJune McEnroe I never use it. 2020-09-11Use MacPorts rather than pkgsrcJune McEnroe My system is probably such a mess now... 2020-09-11Add debian VM name to sshJune McEnroe 2020-09-11Add influencer tweetJune McEnroe 2020-09-10Add The Kingdom of GodsJune McEnroe Reading has really slowed down :( 2020-09-07Add SunglassesJune McEnroe An IRC find. 2020-09-06Add Between the BreathsJune McEnroe One of those good songs from a soundtrack of a film that probably isn't? The summary sounds a lot more interesting than the title implies, at least. 2020-09-04Open /dev/tty in nudgeJune McEnroe This makes it work even when it's run connected to a pipe, i.e. as the notify command of catgirl... 2020-09-04Add nudgeJune McEnroe 2020-09-03Build fbclock with -lzJune McEnroe I guess this got lost somewhere, long ago... 2020-08-29Add tweets from retweetsJune McEnroe