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>
This commit is contained in:
vanhempi
8ae1d8b8fd
commit
caf557a2ba
@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "$1" | tr '[:lower:]' '[:upper:]'
|
17
tests/filters/capitalize-buffer.lua
Normal file
17
tests/filters/capitalize-buffer.lua
Normal file
@ -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
|
||||
|
||||
[ "$#" -gt 0 ] && printf "%s " "$*"
|
||||
tr '[:lower:]' '[:upper:]'
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
'
|
||||
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 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 <AUTHOR@EXAMPLE.COM>" 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 <COMMITTER@EXAMPLE.COM>" tmp
|
||||
'
|
||||
done
|
||||
|
||||
test_done
|
||||
|
Ladataan…
Viittaa uudesa ongelmassa
Block a user