X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT030-config.sh;h=b22d8f291f5c0dfae01aeae5274281fca3112857;hp=751feaf374fa1ec69af5afffb59f3eb5bf1488a3;hb=HEAD;hpb=2f608d2a9400f666ec0aca1f76b59f6640104e4e diff --git a/test/T030-config.sh b/test/T030-config.sh index 751feaf3..621e0b69 100755 --- a/test/T030-config.sh +++ b/test/T030-config.sh @@ -3,6 +3,8 @@ test_description='"notmuch config"' . $(dirname "$0")/test-lib.sh || exit 1 +cp notmuch-config initial-config + test_begin_subtest "Get string value" test_expect_equal "$(notmuch config get user.name)" "Notmuch Test Suite" @@ -51,11 +53,13 @@ cat < EXPECTED built_with.compact=something built_with.field_processor=something built_with.retry_lock=something +built_with.sexp_queries=something database.autocommit=8000 database.mail_root=MAIL_DIR database.path=MAIL_DIR foo.list=this;is another;list value; foo.string=this is another string value +index.as_text= maildir.synchronize_flags=true new.ignore= new.tags=unread;inbox @@ -66,6 +70,35 @@ user.primary_email=test_suite@notmuchmail.org EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "Round trip config item with leading spaces" +test_subtest_known_broken +notmuch config set foo.bar " thing" +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" " thing" + +test_begin_subtest "Round trip config item with leading tab" +test_subtest_known_broken +notmuch config set foo.bar " thing" +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" " thing" + +test_begin_subtest "Round trip config item with embedded tab" +notmuch config set foo.bar "thing other" +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" "thing other" + +test_begin_subtest "Round trip config item with embedded backslash" +notmuch config set foo.bar 'thing\other' +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" "thing\other" + +test_begin_subtest "Round trip config item with embedded NL/CR" +notmuch config set foo.bar 'thing + other' +output=$(notmuch config get foo.bar) +test_expect_equal "${output}" "thing + other" + test_begin_subtest "Top level --config=FILE option" cp "${NOTMUCH_CONFIG}" alt-config notmuch --config=alt-config config set user.name "Another Name" @@ -145,4 +178,34 @@ notmuch config set --database ${key} ${value} output=$(notmuch config get ${key}) test_expect_equal "${output}" "${value}" +test_begin_subtest "set built_with.* yields error" +test_expect_code 1 "notmuch config set built_with.compact false" + +test_begin_subtest "get built_with.{compact,field_processor} prints true" +for key in compact field_processor; do + notmuch config get built_with.${key} +done > OUTPUT +cat < EXPECTED +true +true +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "get built_with.nonexistent prints false" +output=$(notmuch config get built_with.nonexistent) +test_expect_equal "$output" "false" + +test_begin_subtest "Bad utf8 reported as error" +cp initial-config bad-config +printf '[query]\nq3=from:\xff\n' >>bad-config +test_expect_code 1 "notmuch --config=./bad-config config list" + +test_begin_subtest "Specific error message about bad utf8" +notmuch --config=./bad-config config list 2>ERRORS +cat < EXPECTED +GLib: Key file contains key “q3” with value “from:�” which is not UTF-8 +Error: unable to load config file. +EOF +test_expect_equal_file EXPECTED ERRORS + test_done