mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
test: sanitize dates in emacs, raw, and text output
add a new function notmuch_date_sanitize for rfc822-ish things. Add date sanitization to notmuch_show_sanitize_all and use it more places. This is all in aid of a transition to unique timestamps on messages.
This commit is contained in:
parent
18921be2e9
commit
72ff135ac3
5 changed files with 29 additions and 18 deletions
12
test/emacs
12
test/emacs
|
@ -86,15 +86,16 @@ add_message "[subject]=\"message-with-invalid-from\"" \
|
||||||
"[from]=\"\\\"Invalid \\\" From\\\" <test_suite@notmuchmail.org>\""
|
"[from]=\"\\\"Invalid \\\" From\\\" <test_suite@notmuchmail.org>\""
|
||||||
thread=$(notmuch search --output=threads subject:message-with-invalid-from)
|
thread=$(notmuch search --output=threads subject:message-with-invalid-from)
|
||||||
test_emacs "(notmuch-show \"$thread\")
|
test_emacs "(notmuch-show \"$thread\")
|
||||||
(test-output)"
|
(test-output \"OUTPUT.raw\")"
|
||||||
cat <<EOF >EXPECTED
|
cat <<EOF >EXPECTED
|
||||||
"Invalid " (2001-01-05) (inbox)
|
"Invalid " (2001-01-05) (inbox)
|
||||||
Subject: message-with-invalid-from
|
Subject: message-with-invalid-from
|
||||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
Date: GENERATED_DATE
|
||||||
|
|
||||||
This is just a test message (#1)
|
This is just a test message (#1)
|
||||||
EOF
|
EOF
|
||||||
|
notmuch_date_sanitize < OUTPUT.raw > OUTPUT
|
||||||
test_expect_equal_file OUTPUT EXPECTED
|
test_expect_equal_file OUTPUT EXPECTED
|
||||||
|
|
||||||
test_begin_subtest "Navigation of notmuch-search to thread view"
|
test_begin_subtest "Navigation of notmuch-search to thread view"
|
||||||
|
@ -605,11 +606,11 @@ Q: Why is top-posting such a bad thing?
|
||||||
A: Top-posting.
|
A: Top-posting.
|
||||||
Q: What is the most annoying thing in e-mail?"'
|
Q: What is the most annoying thing in e-mail?"'
|
||||||
test_emacs "(notmuch-show \"top-posting\")
|
test_emacs "(notmuch-show \"top-posting\")
|
||||||
(test-visible-output)"
|
(test-visible-output \"OUTPUT.raw\")"
|
||||||
echo "Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
|
echo "Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
|
||||||
Subject: The problem with top-posting
|
Subject: The problem with top-posting
|
||||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
Date: GENERATED_DATE
|
||||||
|
|
||||||
A: Because it messes up the order in which people normally read text.
|
A: Because it messes up the order in which people normally read text.
|
||||||
Q: Why is top-posting such a bad thing?
|
Q: Why is top-posting such a bad thing?
|
||||||
|
@ -618,13 +619,14 @@ Q: What is the most annoying thing in e-mail?
|
||||||
Top Poster <top@poster.com> (2001-01-05) (inbox unread)
|
Top Poster <top@poster.com> (2001-01-05) (inbox unread)
|
||||||
Subject: Re: The problem with top-posting
|
Subject: Re: The problem with top-posting
|
||||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
Date: GENERATED_DATE
|
||||||
|
|
||||||
Thanks for the advice! I will be sure to put it to good use.
|
Thanks for the advice! I will be sure to put it to good use.
|
||||||
|
|
||||||
-Top Poster
|
-Top Poster
|
||||||
|
|
||||||
[ 9-line hidden original message. Click/Enter to show. ]" > EXPECTED
|
[ 9-line hidden original message. Click/Enter to show. ]" > EXPECTED
|
||||||
|
notmuch_date_sanitize < OUTPUT.raw > OUTPUT
|
||||||
test_expect_equal_file OUTPUT EXPECTED
|
test_expect_equal_file OUTPUT EXPECTED
|
||||||
|
|
||||||
test_begin_subtest "Hiding message in notmuch-show view"
|
test_begin_subtest "Hiding message in notmuch-show view"
|
||||||
|
|
|
@ -19,13 +19,14 @@ cat <<EOF >EXPECTED
|
||||||
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
|
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
|
||||||
Subject: Hiding Original Message region at beginning of a message
|
Subject: Hiding Original Message region at beginning of a message
|
||||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
Date: GENERATED_DATE
|
||||||
|
|
||||||
[ 2-line hidden original message. Click/Enter to show. ]
|
[ 2-line hidden original message. Click/Enter to show. ]
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_emacs "(notmuch-show \"id:$message_id\")
|
test_emacs "(notmuch-show \"id:$message_id\")
|
||||||
(test-visible-output)"
|
(test-visible-output \"OUTPUT.raw\")"
|
||||||
|
notmuch_date_sanitize < OUTPUT.raw > OUTPUT
|
||||||
test_expect_equal_file OUTPUT EXPECTED
|
test_expect_equal_file OUTPUT EXPECTED
|
||||||
|
|
||||||
test_begin_subtest "Bare subject #1"
|
test_begin_subtest "Bare subject #1"
|
||||||
|
@ -130,12 +131,12 @@ mid:abc%20def
|
||||||
mid:abc. mid:abc, mid:abc;"'
|
mid:abc. mid:abc, mid:abc;"'
|
||||||
test_emacs '(notmuch-show "id:'$gen_msg_id'")
|
test_emacs '(notmuch-show "id:'$gen_msg_id'")
|
||||||
(notmuch-test-mark-links)
|
(notmuch-test-mark-links)
|
||||||
(test-visible-output)'
|
(test-visible-output "OUTPUT.raw")'
|
||||||
cat <<EOF >EXPECTED
|
cat <<EOF >EXPECTED
|
||||||
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
|
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
|
||||||
Subject: id buttonization
|
Subject: id buttonization
|
||||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
Date: GENERATED_DATE
|
||||||
|
|
||||||
<<id:abc>>
|
<<id:abc>>
|
||||||
<<id:abc.def>>. <<id:abc,def>>, <<id:abc;def>>; <<id:abc:def>>:
|
<<id:abc.def>>. <<id:abc,def>>, <<id:abc;def>>; <<id:abc:def>>:
|
||||||
|
@ -159,6 +160,7 @@ cid:xxx
|
||||||
<<mid:abc%20def>>
|
<<mid:abc%20def>>
|
||||||
<<mid:abc>>. <<mid:abc>>, <<mid:abc>>;
|
<<mid:abc>>. <<mid:abc>>, <<mid:abc>>;
|
||||||
EOF
|
EOF
|
||||||
|
notmuch_date_sanitize < OUTPUT.raw > OUTPUT
|
||||||
test_expect_equal_file OUTPUT EXPECTED
|
test_expect_equal_file OUTPUT EXPECTED
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,14 +5,14 @@ test_description="encoding issues"
|
||||||
test_begin_subtest "Message with text of unknown charset"
|
test_begin_subtest "Message with text of unknown charset"
|
||||||
add_message '[content-type]="text/plain; charset=unknown-8bit"' \
|
add_message '[content-type]="text/plain; charset=unknown-8bit"' \
|
||||||
"[body]=irrelevant"
|
"[body]=irrelevant"
|
||||||
output=$(notmuch show id:${gen_msg_id} 2>&1 | notmuch_show_sanitize)
|
output=$(notmuch show id:${gen_msg_id} 2>&1 | notmuch_show_sanitize_all)
|
||||||
test_expect_equal "$output" "message{ id:msg-001@notmuch-test-suite depth:0 match:1 excluded:0 filename:/XXX/mail/msg-001
|
test_expect_equal "$output" "message{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
|
||||||
header{
|
header{
|
||||||
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox unread)
|
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox unread)
|
||||||
Subject: Message with text of unknown charset
|
Subject: Message with text of unknown charset
|
||||||
From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
Date: GENERATED_DATE
|
||||||
header}
|
header}
|
||||||
body{
|
body{
|
||||||
part{ ID: 1, Content-type: text/plain
|
part{ ID: 1, Content-type: text/plain
|
||||||
|
@ -26,7 +26,7 @@ add_message '[content-type]="text/plain; charset=iso-8859-2"' \
|
||||||
'[content-transfer-encoding]=8bit' \
|
'[content-transfer-encoding]=8bit' \
|
||||||
'[subject]="ISO-8859-2 encoded message"' \
|
'[subject]="ISO-8859-2 encoded message"' \
|
||||||
"[body]=$'Czech word tu\350\362\341\350\350\355 means pinguin\'s.'" # ISO-8859-2 characters are generated by shell's escape sequences
|
"[body]=$'Czech word tu\350\362\341\350\350\355 means pinguin\'s.'" # ISO-8859-2 characters are generated by shell's escape sequences
|
||||||
output=$(notmuch search tučňáččí 2>&1 | notmuch_show_sanitize)
|
output=$(notmuch search tučňáččí 2>&1 | notmuch_show_sanitize_all)
|
||||||
test_expect_equal "$output" "thread:0000000000000002 2001-01-05 [1/1] Notmuch Test Suite; ISO-8859-2 encoded message (inbox unread)"
|
test_expect_equal "$output" "thread:0000000000000002 2001-01-05 [1/1] Notmuch Test Suite; ISO-8859-2 encoded message (inbox unread)"
|
||||||
|
|
||||||
test_begin_subtest "RFC 2047 encoded word with spaces"
|
test_begin_subtest "RFC 2047 encoded word with spaces"
|
||||||
|
|
8
test/raw
8
test/raw
|
@ -11,22 +11,22 @@ output=$(notmuch show --format=raw "*" 2>&1)
|
||||||
test_expect_equal "$output" "Error: search term did not match precisely one message."
|
test_expect_equal "$output" "Error: search term did not match precisely one message."
|
||||||
|
|
||||||
test_begin_subtest "Show a raw message"
|
test_begin_subtest "Show a raw message"
|
||||||
output=$(notmuch show --format=raw id:msg-001@notmuch-test-suite)
|
output=$(notmuch show --format=raw id:msg-001@notmuch-test-suite | notmuch_date_sanitize)
|
||||||
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
Message-Id: <msg-001@notmuch-test-suite>
|
Message-Id: <msg-001@notmuch-test-suite>
|
||||||
Subject: Test message #1
|
Subject: Test message #1
|
||||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
Date: GENERATED_DATE
|
||||||
|
|
||||||
This is just a test message (#1)"
|
This is just a test message (#1)"
|
||||||
|
|
||||||
test_begin_subtest "Show another raw message"
|
test_begin_subtest "Show another raw message"
|
||||||
output=$(notmuch show --format=raw id:msg-002@notmuch-test-suite)
|
output=$(notmuch show --format=raw id:msg-002@notmuch-test-suite | notmuch_date_sanitize)
|
||||||
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||||
Message-Id: <msg-002@notmuch-test-suite>
|
Message-Id: <msg-002@notmuch-test-suite>
|
||||||
Subject: Test message #2
|
Subject: Test message #2
|
||||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
Date: GENERATED_DATE
|
||||||
|
|
||||||
This is just a test message (#2)"
|
This is just a test message (#2)"
|
||||||
|
|
||||||
|
|
|
@ -618,7 +618,8 @@ notmuch_show_sanitize_all ()
|
||||||
{
|
{
|
||||||
sed \
|
sed \
|
||||||
-e 's| filename:.*| filename:XXXXX|' \
|
-e 's| filename:.*| filename:XXXXX|' \
|
||||||
-e 's| id:[^ ]* | id:XXXXX |'
|
-e 's| id:[^ ]* | id:XXXXX |' | \
|
||||||
|
notmuch_date_sanitize
|
||||||
}
|
}
|
||||||
|
|
||||||
notmuch_json_show_sanitize ()
|
notmuch_json_show_sanitize ()
|
||||||
|
@ -641,6 +642,12 @@ notmuch_emacs_error_sanitize ()
|
||||||
-e 's/^\[.*\]$/[XXX]/' \
|
-e 's/^\[.*\]$/[XXX]/' \
|
||||||
-e "s|^\(command: \)\{0,1\}/.*/$command|\1YYY/$command|"
|
-e "s|^\(command: \)\{0,1\}/.*/$command|\1YYY/$command|"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
notmuch_date_sanitize ()
|
||||||
|
{
|
||||||
|
sed \
|
||||||
|
-e 's/^Date: Fri, 05 Jan 2001 .*0000/Date: GENERATED_DATE/'
|
||||||
|
}
|
||||||
# End of notmuch helper functions
|
# End of notmuch helper functions
|
||||||
|
|
||||||
# Use test_set_prereq to tell that a particular prerequisite is available.
|
# Use test_set_prereq to tell that a particular prerequisite is available.
|
||||||
|
|
Loading…
Reference in a new issue