X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT610-message-property.sh;h=7d95bde608e93c1fea39f863bcc3c444d1d09e7d;hp=b5ddb7a4d8aa3def2c258665c69614551da965fc;hb=e68022416d543e50d7cd4eaad218bddd90fdb805;hpb=58fe8fce1d1b7b86b4914a5a476ff21411c84082 diff --git a/test/T610-message-property.sh b/test/T610-message-property.sh index b5ddb7a4..7d95bde6 100755 --- a/test/T610-message-property.sh +++ b/test/T610-message-property.sh @@ -89,6 +89,17 @@ testkey2 = NULL EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "notmuch_message_remove_all_properties" +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} +EXPECT0(notmuch_message_remove_all_properties (message, NULL)); +print_properties (message, "", FALSE); +EOF +cat <<'EOF' >EXPECTED +== stdout == +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + test_begin_subtest "notmuch_message_get_properties: empty list" cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} { @@ -188,4 +199,62 @@ cat <<'EOF' >EXPECTED EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "dump message properties" +cat < PROPERTIES +#= 4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=alice testkey1=bob testkey1=testvalue1 testkey1=testvalue2 testkey3=alice3 testkey3=bob3 testkey3=testvalue3 +EOF +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} +EXPECT0(notmuch_message_add_property (message, "fancy key with áccènts", "import value with =")); +EOF +notmuch dump | grep '^#=' > OUTPUT +test_expect_equal_file PROPERTIES OUTPUT + +test_begin_subtest "dump _only_ message properties" +test_subtest_known_broken +cat < EXPECTED +#notmuch-dump batch-tag:3 properties +#= 4EFC743A.3060609@april.org fancy%20key%20with%20%c3%a1cc%c3%a8nts=import%20value%20with%20= testkey1=alice testkey1=bob testkey1=testvalue1 testkey1=testvalue2 testkey3=alice3 testkey3=bob3 testkey3=testvalue3 +EOF +notmuch dump --include=properties > OUTPUT +test_expect_equal_file EXPECTED OUTPUT + + +test_begin_subtest "restore missing message property (single line)" +notmuch dump | grep '^#=' > BEFORE1 +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} +EXPECT0(notmuch_message_remove_property (message, "testkey1", "bob")); +EOF +notmuch restore < BEFORE1 +notmuch dump | grep '^#=' > OUTPUT +test_expect_equal_file PROPERTIES OUTPUT + + +test_begin_subtest "restore missing message property (full dump)" +notmuch dump > BEFORE2 +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} +EXPECT0(notmuch_message_remove_property (message, "testkey1", "bob")); +EOF +notmuch restore < BEFORE2 +notmuch dump | grep '^#=' > OUTPUT +test_expect_equal_file PROPERTIES OUTPUT + +test_begin_subtest "restore clear extra message property" +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} +EXPECT0(notmuch_message_add_property (message, "testkey1", "charles")); +EOF +notmuch restore < BEFORE2 +notmuch dump | grep '^#=' > OUTPUT +test_expect_equal_file PROPERTIES OUTPUT + +test_begin_subtest "test 'property:' queries: empty" +notmuch search property:testkey1=charles > OUTPUT +test_expect_equal_file /dev/null OUTPUT + +test_begin_subtest "test 'property:' queries: single message" +notmuch search --output=messages property:testkey1=alice > OUTPUT +cat <EXPECTED +id:4EFC743A.3060609@april.org +EOF +test_expect_equal_file EXPECTED OUTPUT + test_done