require "vnd.dovecot.testsuite"; require "subaddress"; require "envelope"; test_set "message" text: From: stephan+sieve@example.org To: test-failed@example.com Subject: subaddress test Test! . ; test_set "envelope.to" "friep+-frop@dovecot.example.net"; test_set "envelope.from" "list_request@lists.dovecot.example.net"; test "Delimiter default" { if not address :is :user "from" "stephan" { test_fail "wrong user part extracted"; } if not address :is :detail "from" "sieve" { test_fail "wrong detail part extracted"; } } test "Delimiter \"-\"" { test_config_set "recipient_delimiter" "-"; test_config_reload :extension "subaddress"; if not address :is :user "to" "test" { test_fail "wrong user part extracted"; } if not address :is :detail "to" "failed" { test_fail "wrong detail part extracted"; } } test "Delimiter \"+-\"" { test_config_set "recipient_delimiter" "+-"; test_config_reload :extension "subaddress"; if not envelope :is :user "to" "friep" { test_fail "wrong user part extracted"; } if not envelope :is :detail "to" "-frop" { test_fail "wrong detail part extracted"; } } test "Delimiter \"-+\"" { test_config_set "recipient_delimiter" "-+"; test_config_reload :extension "subaddress"; if not envelope :is :user "to" "friep" { test_fail "wrong user part extracted"; } if not envelope :is :detail "to" "-frop" { test_fail "wrong detail part extracted"; } } test "Delimiter \"+-_\"" { test_config_set "recipient_delimiter" "+-_"; test_config_reload :extension "subaddress"; if not envelope :is :user "to" "friep" { test_fail "wrong user part extracted"; } if not envelope :is :detail "to" "-frop" { test_fail "wrong detail part extracted"; } if not envelope :is :user "from" "list" { test_fail "wrong user part extracted"; } if not envelope :is :detail "from" "request" { test_fail "wrong detail part extracted"; } }