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>
upstream
Lukas Fleischer 11 years ago committed by Jason A. Donenfeld
parent 8ae1d8b8fd
commit caf557a2ba
  1. 3
      tests/filters/capitalize-argv1.sh
  2. 17
      tests/filters/capitalize-buffer.lua
  3. 1
      tests/filters/capitalize-stdin.sh
  4. 13
      tests/setup.sh
  5. 65
      tests/t0111-filter.sh

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

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

@ -1,3 +1,4 @@
#!/bin/sh #!/bin/sh
[ "$#" -gt 0 ] && printf "%s " "$*"
tr '[:lower:]' '[:upper:]' tr '[:lower:]' '[:upper:]'

@ -125,14 +125,23 @@ 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.url=filter-exec
repo.path=$PWD/repos/filter/.git repo.path=$PWD/repos/filter/.git
repo.desc=filtered repo repo.desc=filtered repo
repo.about-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh repo.about-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh
repo.commit-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.source-filter=exec:$FILTER_DIRECTORY/capitalize-stdin.sh
repo.readme=master:a+b 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 EOF
} }

@ -3,36 +3,39 @@
test_description='Check filtered content' test_description='Check filtered content'
. ./setup.sh . ./setup.sh
test_expect_success 'generate filter/tree/a%2bb' ' for prefix in exec lua
cgit_url "filter/tree/a%2bb" >tmp do
' test_expect_success "generate filter-$prefix/tree/a%2bb" "
cgit_url 'filter-$prefix/tree/a%2bb' >tmp
test_expect_success 'check whether the source filter works' ' "
grep "<code>HELLO$" tmp
' test_expect_success "check whether the $prefix source filter works" '
grep "<code>a+b HELLO$" tmp
test_expect_success 'generate filter/about/' ' '
cgit_url "filter/about/" >tmp
' test_expect_success "generate filter-$prefix/about/" "
cgit_url 'filter-$prefix/about/' >tmp
test_expect_success 'check whether the about filter works' ' "
grep "<div id='"'"'summary'"'"'>HELLO$" tmp
' test_expect_success "check whether the $prefix about filter works" '
grep "<div id='"'"'summary'"'"'>a+b HELLO$" tmp
test_expect_success 'generate filter/commit/' ' '
cgit_url "filter/commit/" >tmp
' test_expect_success "generate filter-$prefix/commit/" "
cgit_url 'filter-$prefix/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 $prefix 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 $prefix email filter works for authors" '
grep "A U THOR &LT;AUTHOR@EXAMPLE.COM&GT;" tmp
test_expect_success 'check whether the email filter works for committers' ' '
grep "<COMMITTER@EXAMPLE.COM>" 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 test_done

Loading…
Cancel
Save