mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-23 09:54:52 +01:00
33cf04c6a5
The recentl-applied patch had grown stale, so update the tests that had been created since it was originally written.
37 lines
1.2 KiB
Bash
Executable file
37 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# Test to demonstrate a position overlap bug.
|
|
#
|
|
# At one point, notmuch would index terms incorrectly in the case of
|
|
# calling index_terms multiple times for a single field. The term
|
|
# generator was being reset to position 0 each time. This means that
|
|
# with text such as:
|
|
#
|
|
# To: a@b.c, x@y.z
|
|
#
|
|
# one could get a bogus match by searching for:
|
|
#
|
|
# To: a@y.c
|
|
#
|
|
# Thanks to Mark Anderson for reporting the bug, (and providing a nice,
|
|
# minimal test case that inspired what is used here), in
|
|
# id:3wd4o8wa7fx.fsf@testarossa.amd.com
|
|
|
|
test_description='that notmuch does not overlap term positions'
|
|
. ./test-lib.sh
|
|
|
|
add_message '[to]="a@b.c, x@y.z"'
|
|
|
|
test_begin_subtest "Search for a@b.c matches"
|
|
output=$(notmuch search a@b.c | notmuch_search_sanitize)
|
|
test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Test message #1 (inbox unread)"
|
|
|
|
test_begin_subtest "Search for x@y.z matches"
|
|
output=$(notmuch search x@y.z | notmuch_search_sanitize)
|
|
test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Test message #1 (inbox unread)"
|
|
|
|
test_begin_subtest "Search for a@y.c must not match"
|
|
output=$(notmuch search a@y.c | notmuch_search_sanitize)
|
|
test_expect_equal "$output" ""
|
|
|
|
test_done
|