From 5da48a95224e925f4b070f2581a121516df33829 Mon Sep 17 00:00:00 2001 From: thomascube Date: Wed, 19 Oct 2011 15:28:11 +0000 Subject: Copy plugins to release branch --- plugins/managesieve/tests/Makefile | 7 ++ plugins/managesieve/tests/parser.phpt | 114 ++++++++++++++++++++++++++++ plugins/managesieve/tests/parser_kep14.phpt | 19 +++++ plugins/managesieve/tests/tokenize.phpt | 66 ++++++++++++++++ 4 files changed, 206 insertions(+) create mode 100644 plugins/managesieve/tests/Makefile create mode 100644 plugins/managesieve/tests/parser.phpt create mode 100644 plugins/managesieve/tests/parser_kep14.phpt create mode 100644 plugins/managesieve/tests/tokenize.phpt (limited to 'plugins/managesieve/tests') diff --git a/plugins/managesieve/tests/Makefile b/plugins/managesieve/tests/Makefile new file mode 100644 index 000000000..072be2f2c --- /dev/null +++ b/plugins/managesieve/tests/Makefile @@ -0,0 +1,7 @@ + +clean: + rm -f *.log *.php *.diff *.exp *.out + + +test: + pear run-tests *.phpt diff --git a/plugins/managesieve/tests/parser.phpt b/plugins/managesieve/tests/parser.phpt new file mode 100644 index 000000000..d70353459 --- /dev/null +++ b/plugins/managesieve/tests/parser.phpt @@ -0,0 +1,114 @@ +--TEST-- +Main test of script parser +--SKIPIF-- +--FILE-- +as_text(); + +?> +--EXPECT-- +require ["fileinto","vacation","reject","relational","comparator-i;ascii-numeric","imapflags"]; +# rule:[spam] +if header :contains "X-DSPAM-Result" "Spam" +{ + fileinto "Spam"; + stop; +} +# rule:[test1] +if header :contains ["From","To"] "test@domain.tld" +{ + discard; + stop; +} +# rule:[test2] +if anyof (not header :contains "Subject" "[test]", header :contains "Subject" "[test2]") +{ + fileinto "test"; + stop; +} +# rule:[test-vacation] +if header :contains "Subject" "vacation" +{ + vacation :days 1 text: +# test +test test /* test */ +test +. +; + stop; +} +# rule:[comments] +if true +{ + stop; +} +# rule:[reject] +if size :over 5000K +{ + reject "Message over 5MB size limit. Please contact me before sending this."; +} +# rule:[redirect] +if header :value "ge" :comparator "i;ascii-numeric" "X-Spam-score" "14" +{ + redirect "test@test.tld"; +} +# rule:[imapflags] +if header :matches "Subject" "^Test$" +{ + setflag "\\Seen"; + addflag ["\\Answered","\\Deleted"]; +} diff --git a/plugins/managesieve/tests/parser_kep14.phpt b/plugins/managesieve/tests/parser_kep14.phpt new file mode 100644 index 000000000..06beaeda1 --- /dev/null +++ b/plugins/managesieve/tests/parser_kep14.phpt @@ -0,0 +1,19 @@ +--TEST-- +Test of Kolab's KEP:14 implementation +--SKIPIF-- +--FILE-- +as_text(); + +?> +--EXPECT-- +# EDITOR Roundcube +# EDITOR_VERSION 123 diff --git a/plugins/managesieve/tests/tokenize.phpt b/plugins/managesieve/tests/tokenize.phpt new file mode 100644 index 000000000..f988653ee --- /dev/null +++ b/plugins/managesieve/tests/tokenize.phpt @@ -0,0 +1,66 @@ +--TEST-- +Script parsing: tokenizer +--SKIPIF-- +--FILE-- + $t) { + echo "[$idx]---------------\n"; + var_dump(rcube_sieve_script::tokenize($t[1], $t[0])); +} +?> +--EXPECT-- +[1]--------------- +string(34) "This is test ; message; +Multi line" +[2]--------------- +array(1) { + [0]=> + array(2) { + [0]=> + string(5) "test1" + [1]=> + string(5) "test2" + } +} +[3]--------------- +array(1) { + [0]=> + string(4) "test" +} +[4]--------------- +string(5) "te"st" +[5]--------------- +array(1) { + [0]=> + string(4) "test" +} +[6]--------------- +array(2) { + [0]=> + string(4) "test" + [1]=> + string(4) "test" +} +[7]--------------- +string(4) "a\"a" -- cgit v1.2.3