mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
test: add tests for notmuch search --offset and --limit
Signed-off-by: Jani Nikula <jani@nikula.org>
This commit is contained in:
parent
28d78c2b02
commit
8a4d631d7c
2 changed files with 72 additions and 0 deletions
|
@ -25,6 +25,7 @@ TESTS="
|
|||
search-by-folder
|
||||
search-position-overlap-bug
|
||||
search-insufficient-from-quoting
|
||||
search-limiting
|
||||
tagging
|
||||
json
|
||||
multipart
|
||||
|
|
71
test/search-limiting
Executable file
71
test/search-limiting
Executable file
|
@ -0,0 +1,71 @@
|
|||
#!/usr/bin/env bash
|
||||
test_description='"notmuch search" --offset and --limit parameters'
|
||||
. ./test-lib.sh
|
||||
|
||||
add_email_corpus
|
||||
|
||||
for outp in messages threads; do
|
||||
test_begin_subtest "${outp}: limit does the right thing"
|
||||
notmuch search --output=${outp} "*" | head -n 20 >expected
|
||||
notmuch search --output=${outp} --limit=20 "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: concatenation of limited searches"
|
||||
notmuch search --output=${outp} "*" | head -n 20 >expected
|
||||
notmuch search --output=${outp} --limit=10 "*" >output
|
||||
notmuch search --output=${outp} --limit=10 --offset=10 "*" >>output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: limit larger than result set"
|
||||
N=`notmuch count --output=${outp} "*"`
|
||||
notmuch search --output=${outp} "*" >expected
|
||||
notmuch search --output=${outp} --limit=$((1 + ${N})) "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: limit = 0"
|
||||
test_expect_equal "`notmuch search --output=${outp} --limit=0 "*"`" ""
|
||||
|
||||
test_begin_subtest "${outp}: offset does the right thing"
|
||||
# note: tail -n +N is 1-based
|
||||
notmuch search --output=${outp} "*" | tail -n +21 >expected
|
||||
notmuch search --output=${outp} --offset=20 "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: offset = 0"
|
||||
notmuch search --output=${outp} "*" >expected
|
||||
notmuch search --output=${outp} --offset=0 "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: negative offset"
|
||||
notmuch search --output=${outp} "*" | tail -n 20 >expected
|
||||
notmuch search --output=${outp} --offset=-20 "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: negative offset"
|
||||
notmuch search --output=${outp} "*" | tail -n 1 >expected
|
||||
notmuch search --output=${outp} --offset=-1 "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: negative offset combined with limit"
|
||||
notmuch search --output=${outp} "*" | tail -n 20 | head -n 10 >expected
|
||||
notmuch search --output=${outp} --offset=-20 --limit=10 "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: negative offset combined with equal limit"
|
||||
notmuch search --output=${outp} "*" | tail -n 20 >expected
|
||||
notmuch search --output=${outp} --offset=-20 --limit=20 "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: negative offset combined with large limit"
|
||||
notmuch search --output=${outp} "*" | tail -n 20 >expected
|
||||
notmuch search --output=${outp} --offset=-20 --limit=50 "*" >output
|
||||
test_expect_equal_file expected output
|
||||
|
||||
test_begin_subtest "${outp}: negative offset larger then results"
|
||||
N=`notmuch count --output=${outp} "*"`
|
||||
notmuch search --output=${outp} "*" >expected
|
||||
notmuch search --output=${outp} --offset=-$((1 + ${N})) "*" >output
|
||||
test_expect_equal_file expected output
|
||||
done
|
||||
|
||||
test_done
|
Loading…
Reference in a new issue