diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-01-23 08:26:17 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2011-01-23 08:26:17 +0000 |
| commit | 14d951b7361f79cc09207aa77dd83bf069609338 (patch) | |
| tree | a72482e712af2d019f3f50dc13eec1fe409eead6 /plugins/managesieve/tests/parser.phpt | |
| parent | c72e34f773a84486dd9b2d08d856583fb030877f (diff) | |
- Rewritten sieve script parser, added tests
git-svn-id: https://svn.roundcube.net/trunk@4447 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'plugins/managesieve/tests/parser.phpt')
| -rw-r--r-- | plugins/managesieve/tests/parser.phpt | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/plugins/managesieve/tests/parser.phpt b/plugins/managesieve/tests/parser.phpt new file mode 100644 index 000000000..27952eb1f --- /dev/null +++ b/plugins/managesieve/tests/parser.phpt @@ -0,0 +1,86 @@ +--TEST-- +Main test of script parser +--SKIPIF-- +--FILE-- +<?php +include('../lib/rcube_sieve.php'); + +$txt = ' +require ["fileinto","vacation"]; +# rule:[spam] +if anyof (header :contains "X-DSPAM-Result" "Spam") +{ + fileinto "Spam"; + stop; +} +# rule:[test1] +if anyof (header :contains ["From","To"] "test@domain.tld") +{ + fileinto "roundcube-trac"; + stop; +} +# rule:[test2] +if anyof (not header :contains "Subject" "[test]", header :contains "Subject" "[test2]") +{ + fileinto "test"; + stop; +} +# rule:[test-vacation] +if anyof (header :contains "Subject" "vacation") +{ + vacation :days 1 text: +# test +test test /* test */ +test +. +; + stop; +} +# rule:[comments] +if anyof (true) /* comment + * "comment" #comment */ { + /* comment */ stop; +# comment +} +'; + +$s = new rcube_sieve_script($txt); +echo $s->as_text(); + +?> +--EXPECT-- +require ["fileinto","vacation"]; +# rule:[spam] +if anyof (header :contains "X-DSPAM-Result" "Spam") +{ + fileinto "Spam"; + stop; +} +# rule:[test1] +if anyof (header :contains ["From","To"] "test@domain.tld") +{ + fileinto "roundcube-trac"; + stop; +} +# rule:[test2] +if anyof (not header :contains "Subject" "[test]", header :contains "Subject" "[test2]") +{ + fileinto "test"; + stop; +} +# rule:[test-vacation] +if anyof (header :contains "Subject" "vacation") +{ + vacation :days 1 text: +# test +test test /* test */ +test +. +; + stop; +} +# rule:[comments] +if anyof (true) +{ + stop; +} |
