mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
580997252f
This regexp agrees with Xapian query syntax much more closely, though we specifically disallow various cases that would be confusing in the context of an email body (e.g., punctuation at the end of an id: link is not considered part of the id: link because it's probably part of the surrounding text). In particular, this handles id: links that are not surrounded by quotes much better, which stash is much more likely to generate now that we don't quote id's that don't need to be quoted. It also handles quoted id: links better. We update the buttonization test to reflect the new pattern.
160 lines
5.3 KiB
Bash
Executable file
160 lines
5.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
test_description="emacs notmuch-show view"
|
|
. test-lib.sh
|
|
|
|
EXPECTED=$TEST_DIRECTORY/emacs-show.expected-output
|
|
|
|
add_email_corpus
|
|
|
|
test_begin_subtest "Hiding Original Message region at beginning of a message"
|
|
message_id='OriginalMessageHiding.1@notmuchmail.org'
|
|
add_message \
|
|
[id]="$message_id" \
|
|
'[subject]="Hiding Original Message region at beginning of a message"' \
|
|
'[body]="-----Original Message-----
|
|
Text here."'
|
|
|
|
cat <<EOF >EXPECTED
|
|
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
|
|
Subject: Hiding Original Message region at beginning of a message
|
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
|
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
|
|
|
[ 2-line hidden original message. Click/Enter to show. ]
|
|
EOF
|
|
|
|
test_emacs "(notmuch-show \"id:$message_id\")
|
|
(test-visible-output)"
|
|
test_expect_equal_file OUTPUT EXPECTED
|
|
|
|
test_begin_subtest "Bare subject #1"
|
|
output=$(test_emacs '(notmuch-show-strip-re "Re: subject")')
|
|
test_expect_equal "$output" '"subject"'
|
|
|
|
test_begin_subtest "Bare subject #2"
|
|
output=$(test_emacs '(notmuch-show-strip-re "re:Re: re: Re: re:subject")')
|
|
test_expect_equal "$output" '"subject"'
|
|
|
|
test_begin_subtest "Bare subject #3"
|
|
output=$(test_emacs '(notmuch-show-strip-re "the cure: fix the regexp")')
|
|
test_expect_equal "$output" '"the cure: fix the regexp"'
|
|
|
|
test_begin_subtest "don't process cryptographic MIME parts"
|
|
test_emacs '(let ((notmuch-crypto-process-mime nil))
|
|
(notmuch-show "id:20091117203301.GV3165@dottiness.seas.harvard.edu")
|
|
(test-visible-output))'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-process-crypto-mime-parts-off
|
|
|
|
test_begin_subtest "process cryptographic MIME parts"
|
|
test_emacs '(let ((notmuch-crypto-process-mime t))
|
|
(notmuch-show "id:20091117203301.GV3165@dottiness.seas.harvard.edu")
|
|
(test-visible-output))'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-process-crypto-mime-parts-on
|
|
|
|
test_begin_subtest "process cryptographic MIME parts (w/ notmuch-show-toggle-process-crypto)"
|
|
test_emacs '(let ((notmuch-crypto-process-mime nil))
|
|
(notmuch-show "id:20091117203301.GV3165@dottiness.seas.harvard.edu")
|
|
(notmuch-show-toggle-process-crypto)
|
|
(test-visible-output))'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-process-crypto-mime-parts-on
|
|
|
|
test_begin_subtest "notmuch-show: don't elide non-matching messages"
|
|
test_emacs '(let ((notmuch-show-only-matching-messages nil))
|
|
(notmuch-search "from:lars@seas.harvard.edu and subject:\"Maildir storage\"")
|
|
(notmuch-test-wait)
|
|
(notmuch-search-show-thread)
|
|
(notmuch-test-wait)
|
|
(test-visible-output))'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-elide-non-matching-messages-off
|
|
|
|
test_begin_subtest "notmuch-show: elide non-matching messages"
|
|
test_emacs '(let ((notmuch-show-only-matching-messages t))
|
|
(notmuch-search "from:lars@seas.harvard.edu and subject:\"Maildir storage\"")
|
|
(notmuch-test-wait)
|
|
(notmuch-search-show-thread)
|
|
(notmuch-test-wait)
|
|
(test-visible-output))'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-elide-non-matching-messages-on
|
|
|
|
test_begin_subtest "notmuch-show: elide non-matching messages (w/ notmuch-show-toggle-elide-non-matching)"
|
|
test_emacs '(let ((notmuch-show-only-matching-messages nil))
|
|
(notmuch-search "from:lars@seas.harvard.edu and subject:\"Maildir storage\"")
|
|
(notmuch-test-wait)
|
|
(notmuch-search-show-thread)
|
|
(notmuch-test-wait)
|
|
(notmuch-show-toggle-elide-non-matching)
|
|
(test-visible-output))'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-elide-non-matching-messages-on
|
|
|
|
test_begin_subtest "notmuch-show: elide non-matching messages (w/ prefix arg to notmuch-show)"
|
|
test_emacs '(let ((notmuch-show-only-matching-messages nil))
|
|
(notmuch-search "from:lars@seas.harvard.edu and subject:\"Maildir storage\"")
|
|
(notmuch-test-wait)
|
|
(let ((current-prefix-arg t))
|
|
(notmuch-search-show-thread))
|
|
(notmuch-test-wait)
|
|
(test-visible-output))'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-elide-non-matching-messages-on
|
|
|
|
test_begin_subtest "notmuch-show: disable indentation of thread content (w/ notmuch-show-toggle-thread-indentation)"
|
|
test_emacs '(notmuch-search "from:lars@seas.harvard.edu and subject:\"Maildir storage\"")
|
|
(notmuch-test-wait)
|
|
(notmuch-search-show-thread)
|
|
(notmuch-test-wait)
|
|
(notmuch-show-toggle-thread-indentation)
|
|
(test-visible-output)'
|
|
test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-indent-thread-content-off
|
|
|
|
test_begin_subtest "id buttonization"
|
|
add_message '[body]="
|
|
id:abc
|
|
id:abc.def. id:abc,def, id:abc;def; id:abc:def:
|
|
id:foo@bar.?baz? id:foo@bar!.baz!
|
|
(id:foo@bar.baz) [id:foo@bar.baz]
|
|
id:foo@bar.baz...
|
|
id:2+2=5
|
|
id:=_-:/.[]@$%+
|
|
id:abc)def
|
|
id:ab\"c def
|
|
id:\"abc\"def
|
|
id:\"ab\"\"c\"def
|
|
id:\"ab c\"def
|
|
id:\"abc\".def
|
|
id:\"abc
|
|
\"
|
|
id:)
|
|
id:
|
|
cid:xxx"'
|
|
test_emacs '(notmuch-show "id:'$gen_msg_id'")
|
|
(notmuch-test-mark-links)
|
|
(test-visible-output)'
|
|
cat <<EOF >EXPECTED
|
|
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
|
|
Subject: id buttonization
|
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
|
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
|
|
|
<<id:abc>>
|
|
<<id:abc.def>>. <<id:abc,def>>, <<id:abc;def>>; <<id:abc:def>>:
|
|
<<id:foo@bar.?baz>>? <<id:foo@bar!.baz>>!
|
|
(<<id:foo@bar.baz>>) [<<id:foo@bar.baz>>]
|
|
<<id:foo@bar.baz>>...
|
|
<<id:2+2=5>>
|
|
<<id:=_-:/.[]@$%+>>
|
|
<<id:abc>>)def
|
|
<<id:ab"c>> def
|
|
<<id:"abc">>def
|
|
<<id:"ab""c">>def
|
|
<<id:"ab c">>def
|
|
<<id:"abc">>.def
|
|
id:"abc
|
|
"
|
|
id:)
|
|
id:
|
|
cid:xxx
|
|
EOF
|
|
test_expect_equal_file OUTPUT EXPECTED
|
|
|
|
|
|
test_done
|