aboutsummaryrefslogtreecommitdiff
path: root/test/config
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-08-06 18:10:31 +0200
committerAnton Khirnov <anton@khirnov.net>2012-08-06 18:10:31 +0200
commit7192d0221a361d3d9cfd6626058e4a1c86ea7b44 (patch)
tree11d3db0604f47498e16b50ef7f559e138bfe4482 /test/config
parent6bc2f5a999d9ff77779d98b7cc688a4350ea65d9 (diff)
parent6b820673fc9c2483572af5ec7ea91e4d7d7258c9 (diff)
Merge remote-tracking branch 'origin/master' into vim
Diffstat (limited to 'test/config')
-rwxr-xr-xtest/config60
1 files changed, 60 insertions, 0 deletions
diff --git a/test/config b/test/config
new file mode 100755
index 0000000..93ecb13
--- /dev/null
+++ b/test/config
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+
+test_description='"notmuch config"'
+. test-lib.sh
+
+test_begin_subtest "Get string value"
+test_expect_equal "$(notmuch config get user.name)" "Notmuch Test Suite"
+
+test_begin_subtest "Get list value"
+test_expect_equal "$(notmuch config get new.tags)" "\
+unread
+inbox"
+
+test_begin_subtest "Set string value"
+notmuch config set foo.string "this is a string value"
+test_expect_equal "$(notmuch config get foo.string)" "this is a string value"
+
+test_begin_subtest "Set string value again"
+notmuch config set foo.string "this is another string value"
+test_expect_equal "$(notmuch config get foo.string)" "this is another string value"
+
+test_begin_subtest "Set list value"
+notmuch config set foo.list this "is a" "list value"
+test_expect_equal "$(notmuch config get foo.list)" "\
+this
+is a
+list value"
+
+test_begin_subtest "Set list value again"
+notmuch config set foo.list this "is another" "list value"
+test_expect_equal "$(notmuch config get foo.list)" "\
+this
+is another
+list value"
+
+test_begin_subtest "Remove key"
+notmuch config set foo.remove baz
+notmuch config set foo.remove
+test_expect_equal "$(notmuch config get foo.remove)" ""
+
+test_begin_subtest "Remove non-existent key"
+notmuch config set foo.nonexistent
+test_expect_equal "$(notmuch config get foo.nonexistent)" ""
+
+test_begin_subtest "List all items"
+notmuch config set database.path "/canonical/path"
+output=$(notmuch config list)
+test_expect_equal "$output" "\
+database.path=/canonical/path
+user.name=Notmuch Test Suite
+user.primary_email=test_suite@notmuchmail.org
+user.other_email=test_suite_other@notmuchmail.org;test_suite@otherdomain.org
+new.tags=unread;inbox;
+new.ignore=
+search.exclude_tags=
+maildir.synchronize_flags=true
+foo.string=this is another string value
+foo.list=this;is another;list value;"
+
+test_done