aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/count
blob: 976fff16432f28567becb9e7368ebf1b6ec16576 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/env bash
test_description='"notmuch count" for messages and threads'
. ./test-lib.sh

add_email_corpus

SEARCH="\"*\""

test_begin_subtest "message count is the default for notmuch count"
test_expect_equal \
    "`notmuch search --output=messages ${SEARCH} | wc -l`" \
    "`notmuch count ${SEARCH}`"

test_begin_subtest "message count with --output=messages"
test_expect_equal \
    "`notmuch search --output=messages ${SEARCH} | wc -l`" \
    "`notmuch count --output=messages ${SEARCH}`"

test_begin_subtest "thread count with --output=threads"
test_expect_equal \
    "`notmuch search --output=threads ${SEARCH} | wc -l`" \
    "`notmuch count --output=threads ${SEARCH}`"

test_begin_subtest "thread count is the default for notmuch search"
test_expect_equal \
    "`notmuch search ${SEARCH} | wc -l`" \
    "`notmuch count --output=threads ${SEARCH}`"

SEARCH="from:cworth and not from:cworth"
test_begin_subtest "count with no matching messages"
test_expect_equal \
    "0" \
    "`notmuch count --output=messages ${SEARCH}`"

test_begin_subtest "count with no matching threads"
test_expect_equal \
    "0" \
    "`notmuch count --output=threads ${SEARCH}`"

test_begin_subtest "count excluding \"deleted\" messages"
notmuch config set search.exclude_tags = deleted
generate_message '[subject]="Not deleted"'
generate_message '[subject]="Another not deleted"'
generate_message '[subject]="Deleted"'
notmuch new > /dev/null
notmuch tag +deleted id:$gen_msg_id
test_expect_equal \
    "2" \
    "`notmuch count subject:deleted`"

test_begin_subtest "count \"deleted\" messages, exclude overridden"
test_expect_equal \
    "1" \
    "`notmuch count subject:deleted and tag:deleted`"

test_begin_subtest "count \"deleted\" messages, with --no-exclude"
test_expect_equal \
    "3" \
    "`notmuch count --no-exclude subject:deleted`"

test_done