#!/bin/sh test_description='Check filtered content' . ./setup.sh prefixes="exec" if [ $CGIT_HAS_LUA -eq 1 ]; then prefixes="$prefixes lua" fi for prefix in $prefixes 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 " commit A U THOR <AUTHOR@EXAMPLE.COM>" tmp ' test_expect_success "check whether the $prefix email filter works for committers" ' grep " commit C O MITTER <COMMITTER@EXAMPLE.COM>" tmp ' # Page output is buffered, so anything written before a filter opens has # to leave the buffer before the filter takes over stdout, and anything # written while it is open has to leave before stdout is handed back. # A missed flush reorders the page rather than losing it, so check that # the markup around the filtered text is still on the right side of it. test_expect_success "the $prefix source filter output stays inside its cell" " cgit_url 'filter-$prefix/tree/a%2bb' >tmp && tr -d '\n' flat.out && grep 'a+b HELLO' flat.out " test_expect_success "the $prefix about filter output stays inside its div" " cgit_url 'filter-$prefix/about/' >tmp && grep \"
a+b HELLO\" tmp " done test_done