#!/bin/bash test_description="Testing \"notmuch search\" in several variations" . ./test-lib.sh test_expect_success "Search body" ' add_message [subject]="\"body search\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" [body]=bodysearchtest && execute_expecting "search bodysearchtest" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; body search (inbox unread)" ' test_expect_success "Search by from:" ' add_message [subject]="\"search by from\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" [from]=searchbyfrom && execute_expecting "search from:searchbyfrom" "thread:XXX 2000-01-01 [1/1] searchbyfrom; search by from (inbox unread)" ' test_expect_success "Search by to:" ' add_message [subject]="\"search by to\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" [to]=searchbyto && execute_expecting "search to:searchbyto" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by to (inbox unread)" ' test_expect_success "Search by subject:" ' add_message [subject]=subjectsearchtest [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" && execute_expecting "search subject:subjectsearchtest" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; subjectsearchtest (inbox unread)" ' test_expect_success "Search by id:" ' add_message [subject]="\"search by id\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" && execute_expecting "search id:${gen_msg_id}" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by id (inbox unread)" ' test_expect_success "Search by tag:" ' add_message [subject]="\"search by tag\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" && notmuch tag +searchbytag id:${gen_msg_id} && execute_expecting "search tag:searchbytag" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by tag (inbox searchbytag unread)" ' test_expect_success "Search by thread:" ' add_message [subject]="\"search by thread\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" && thread_id=$(notmuch search id:${gen_msg_id} | sed -e "s/thread:\([a-f0-9]*\).*/\1/") && execute_expecting "search thread:${thread_id}" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by thread (inbox unread)" ' test_expect_success "Search body (phrase)" ' add_message [subject]="\"body search (phrase)\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" [body]="\"body search (phrase)\"" && execute_expecting "search \"body search (phrase)\"" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; body search (phrase) (inbox unread)" ' test_expect_success "Search by from: (address)" ' add_message [subject]="\"search by from (address)\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" [from]=searchbyfrom@example.com && execute_expecting "search from:searchbyfrom@example.com" "thread:XXX 2000-01-01 [1/1] searchbyfrom@example.com; search by from (address) (inbox unread)" ' test_expect_success "Search by from: (name)" ' add_message [subject]="\"search by from (name)\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" [from]="\"Search By From Name \"" && execute_expecting "search from:\"Search By From Name\"" "thread:XXX 2000-01-01 [1/1] Search By From Name; search by from (name) (inbox unread)" ' test_expect_success "Search by to: (address)" ' add_message [subject]="\"search by to (address)\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" [to]=searchbyto@example.com && execute_expecting "search to:searchbyto@example.com" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by to (address) (inbox unread)" ' test_expect_success "Search by to: (name)" ' add_message [subject]="\"search by to (name)\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" [to]="\"Search By To Name \"" && execute_expecting "search to:\"Search By To Name\"" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by to (name) (inbox unread)" ' test_expect_success "Search by subject: (phrase)" ' add_message [subject]="\"subject search test (phrase)\"" [date]="\"Sat, 01 Jan 2000 12:00:00 -0000\"" && execute_expecting "search subject:\"subject search test (phrase)\"" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; subject search test (phrase) (inbox unread)" ' test_done