From b2034fdfec040a67988e543a911208ef2491ce7a Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Sun, 22 Feb 2015 12:58:46 +0100 Subject: New RoundCube Plugins Git folder --- managesieve/tests/src/parser | 52 +++++++++++++++++++++++++++ managesieve/tests/src/parser.out | 52 +++++++++++++++++++++++++++ managesieve/tests/src/parser_body | 17 +++++++++ managesieve/tests/src/parser_date | 21 +++++++++++ managesieve/tests/src/parser_enotify_a | 19 ++++++++++ managesieve/tests/src/parser_enotify_b | 18 ++++++++++ managesieve/tests/src/parser_imapflags | 7 ++++ managesieve/tests/src/parser_include | 7 ++++ managesieve/tests/src/parser_index | 24 +++++++++++++ managesieve/tests/src/parser_kep14 | 2 ++ managesieve/tests/src/parser_kep14.out | 3 ++ managesieve/tests/src/parser_notify_a | 18 ++++++++++ managesieve/tests/src/parser_notify_b | 17 +++++++++ managesieve/tests/src/parser_prefix | 5 +++ managesieve/tests/src/parser_relational | 6 ++++ managesieve/tests/src/parser_subaddress | 11 ++++++ managesieve/tests/src/parser_vacation | 12 +++++++ managesieve/tests/src/parser_vacation_seconds | 12 +++++++ managesieve/tests/src/parser_variables | 12 +++++++ 19 files changed, 315 insertions(+) create mode 100644 managesieve/tests/src/parser create mode 100644 managesieve/tests/src/parser.out create mode 100644 managesieve/tests/src/parser_body create mode 100644 managesieve/tests/src/parser_date create mode 100644 managesieve/tests/src/parser_enotify_a create mode 100644 managesieve/tests/src/parser_enotify_b create mode 100644 managesieve/tests/src/parser_imapflags create mode 100644 managesieve/tests/src/parser_include create mode 100644 managesieve/tests/src/parser_index create mode 100644 managesieve/tests/src/parser_kep14 create mode 100644 managesieve/tests/src/parser_kep14.out create mode 100644 managesieve/tests/src/parser_notify_a create mode 100644 managesieve/tests/src/parser_notify_b create mode 100644 managesieve/tests/src/parser_prefix create mode 100644 managesieve/tests/src/parser_relational create mode 100644 managesieve/tests/src/parser_subaddress create mode 100644 managesieve/tests/src/parser_vacation create mode 100644 managesieve/tests/src/parser_vacation_seconds create mode 100644 managesieve/tests/src/parser_variables (limited to 'managesieve/tests/src') diff --git a/managesieve/tests/src/parser b/managesieve/tests/src/parser new file mode 100644 index 0000000..c99b498 --- /dev/null +++ b/managesieve/tests/src/parser @@ -0,0 +1,52 @@ +require ["fileinto","reject","envelope"]; +# rule:[spam] +if anyof (header :contains "X-DSPAM-Result" "Spam") +{ + fileinto "Spam"; + stop; +} +# rule:[test1] +if anyof (header :contains :comparator "i;ascii-casemap" ["From","To"] "test@domain.tld") +{ + discard; + stop; +} +# rule:[test2] +if anyof (not header :contains :comparator "i;octet" ["Subject"] "[test]", header :contains "Subject" "[test2]") +{ + fileinto "test"; + stop; +} +# rule:[comments] +if anyof (true) /* comment + * "comment" #comment */ { + /* comment */ stop; +# comment +} +# rule:[reject] +if size :over 5000K { + reject "Message over 5MB size limit. Please contact me before sending this."; +} +# rule:[false] +if false # size :over 5000K +{ + stop; /* rule disabled */ +} +# rule:[true] +if true +{ + stop; +} +fileinto "Test"; +# rule:[address test] +if address :all :is "From" "nagios@domain.tld" +{ + fileinto "domain.tld"; + stop; +} +# rule:[envelope test] +if envelope :domain :is "From" "domain.tld" +{ + fileinto "domain.tld"; + stop; +} diff --git a/managesieve/tests/src/parser.out b/managesieve/tests/src/parser.out new file mode 100644 index 0000000..796343d --- /dev/null +++ b/managesieve/tests/src/parser.out @@ -0,0 +1,52 @@ +require ["envelope","fileinto","reject"]; +# 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 :comparator "i;octet" "Subject" "[test]", header :contains "Subject" "[test2]") +{ + fileinto "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:[false] +if false # size :over 5000K +{ + stop; +} +# rule:[true] +if true +{ + stop; +} +fileinto "Test"; +# rule:[address test] +if address :is "From" "nagios@domain.tld" +{ + fileinto "domain.tld"; + stop; +} +# rule:[envelope test] +if envelope :domain :is "From" "domain.tld" +{ + fileinto "domain.tld"; + stop; +} diff --git a/managesieve/tests/src/parser_body b/managesieve/tests/src/parser_body new file mode 100644 index 0000000..bd142ed --- /dev/null +++ b/managesieve/tests/src/parser_body @@ -0,0 +1,17 @@ +require ["body","fileinto"]; +if body :raw :contains "MAKE MONEY FAST" +{ + stop; +} +if body :content "text" :contains ["missile","coordinates"] +{ + fileinto "secrets"; +} +if body :content "audio/mp3" :contains "" +{ + fileinto "jukebox"; +} +if body :text :contains "project schedule" +{ + fileinto "project/schedule"; +} diff --git a/managesieve/tests/src/parser_date b/managesieve/tests/src/parser_date new file mode 100644 index 0000000..06b0033 --- /dev/null +++ b/managesieve/tests/src/parser_date @@ -0,0 +1,21 @@ +require ["comparator-i;ascii-numeric","date","fileinto","relational"]; +# rule:[date] +if allof (date :originalzone :value "ge" :comparator "i;ascii-numeric" "date" "hour" "09") +{ + fileinto "urgent"; +} +# rule:[date-weekday] +if date :is "received" "weekday" "0" +{ + fileinto "weekend"; +} +# rule:[date-zone] +if date :zone "-0500" :value "gt" :comparator "i;ascii-numeric" "received" "iso8601" "2007-02-26T09:00:00-05:00" +{ + stop; +} +# rule:[currentdate] +if anyof (currentdate :is "weekday" "0", currentdate :value "lt" :comparator "i;ascii-numeric" "hour" "09", currentdate :value "ge" :comparator "i;ascii-numeric" "date" "2007-06-30") +{ + stop; +} diff --git a/managesieve/tests/src/parser_enotify_a b/managesieve/tests/src/parser_enotify_a new file mode 100644 index 0000000..68a9ef5 --- /dev/null +++ b/managesieve/tests/src/parser_enotify_a @@ -0,0 +1,19 @@ +require ["enotify","variables"]; +# rule:[notify1] +if header :contains "from" "boss@example.org" +{ + notify :importance "1" :message "This is probably very important" "mailto:alm@example.com"; + stop; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify2] +if header :matches "From" "*" +{ + set "from" "${1}"; + notify :importance "3" :message "${from}: ${subject}" "mailto:alm@example.com"; +} + diff --git a/managesieve/tests/src/parser_enotify_b b/managesieve/tests/src/parser_enotify_b new file mode 100644 index 0000000..a3011ba --- /dev/null +++ b/managesieve/tests/src/parser_enotify_b @@ -0,0 +1,18 @@ +require ["enotify","envelope","variables"]; +# rule:[from] +if envelope :matches "from" "*" +{ + set "env_from" " [really: ${1}]"; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify] +if address :matches "from" "*" +{ + set "from_addr" "${1}"; + notify :message "${from_addr}${env_from}: ${subject}" "mailto:alm@example.com"; +} + diff --git a/managesieve/tests/src/parser_imapflags b/managesieve/tests/src/parser_imapflags new file mode 100644 index 0000000..e67bf7c --- /dev/null +++ b/managesieve/tests/src/parser_imapflags @@ -0,0 +1,7 @@ +require ["imap4flags"]; +# rule:[imapflags] +if header :matches "Subject" "^Test$" +{ + setflag "\\Seen"; + addflag ["\\Answered","\\Deleted"]; +} diff --git a/managesieve/tests/src/parser_include b/managesieve/tests/src/parser_include new file mode 100644 index 0000000..b5585a4 --- /dev/null +++ b/managesieve/tests/src/parser_include @@ -0,0 +1,7 @@ +require ["include"]; +include "script.sieve"; +# rule:[two] +if true +{ + include :optional "second.sieve"; +} diff --git a/managesieve/tests/src/parser_index b/managesieve/tests/src/parser_index new file mode 100644 index 0000000..ca9f86d --- /dev/null +++ b/managesieve/tests/src/parser_index @@ -0,0 +1,24 @@ +require ["comparator-i;ascii-numeric","date","fileinto","index","relational"]; +# rule:[index-header1] +if header :index 1 :last :contains "X-DSPAM-Result" "Spam" +{ + fileinto "Spam"; + stop; +} +# rule:[index-header2] +if header :index 2 :contains ["From","To"] "test@domain.tld" +{ + discard; + stop; +} +# rule:[index-address] +if address :index 1 :is "From" "nagios@domain.tld" +{ + fileinto "domain.tld"; + stop; +} +# rule:[index-date] +if date :index 1 :last :zone "-0500" :value "gt" :comparator "i;ascii-numeric" "received" "iso8601" "2007-02-26T09:00:00-05:00" +{ + stop; +} diff --git a/managesieve/tests/src/parser_kep14 b/managesieve/tests/src/parser_kep14 new file mode 100644 index 0000000..1ded8d8 --- /dev/null +++ b/managesieve/tests/src/parser_kep14 @@ -0,0 +1,2 @@ +# EDITOR Roundcube +# EDITOR_VERSION 123 diff --git a/managesieve/tests/src/parser_kep14.out b/managesieve/tests/src/parser_kep14.out new file mode 100644 index 0000000..cb7faa7 --- /dev/null +++ b/managesieve/tests/src/parser_kep14.out @@ -0,0 +1,3 @@ +require ["variables"]; +set "EDITOR" "Roundcube"; +set "EDITOR_VERSION" "123"; diff --git a/managesieve/tests/src/parser_notify_a b/managesieve/tests/src/parser_notify_a new file mode 100644 index 0000000..e51e2aa --- /dev/null +++ b/managesieve/tests/src/parser_notify_a @@ -0,0 +1,18 @@ +require ["notify","variables"]; +# rule:[notify1] +if header :contains "from" "boss@example.org" +{ + notify :low :message "This is probably very important"; + stop; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify2] +if header :matches "From" "*" +{ + set "from" "${1}"; + notify :high :method "mailto" :options "test@example.org" :message "${from}: ${subject}"; +} diff --git a/managesieve/tests/src/parser_notify_b b/managesieve/tests/src/parser_notify_b new file mode 100644 index 0000000..f942e15 --- /dev/null +++ b/managesieve/tests/src/parser_notify_b @@ -0,0 +1,17 @@ +require ["envelope","notify","variables"]; +# rule:[from] +if envelope :matches "from" "*" +{ + set "env_from" " [really: ${1}]"; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify] +if address :matches "from" "*" +{ + set "from_addr" "${1}"; + notify :method "sms" :options "1234567890" :message "${from_addr}${env_from}: ${subject}"; +} diff --git a/managesieve/tests/src/parser_prefix b/managesieve/tests/src/parser_prefix new file mode 100644 index 0000000..9f6a33a --- /dev/null +++ b/managesieve/tests/src/parser_prefix @@ -0,0 +1,5 @@ +# this is a comment +# and the second line + +require ["variables"]; +set "b" "c"; diff --git a/managesieve/tests/src/parser_relational b/managesieve/tests/src/parser_relational new file mode 100644 index 0000000..92c5e1a --- /dev/null +++ b/managesieve/tests/src/parser_relational @@ -0,0 +1,6 @@ +require ["comparator-i;ascii-numeric","relational"]; +# rule:[redirect] +if header :value "ge" :comparator "i;ascii-numeric" "X-Spam-score" "14" +{ + redirect "test@test.tld"; +} diff --git a/managesieve/tests/src/parser_subaddress b/managesieve/tests/src/parser_subaddress new file mode 100644 index 0000000..e445550 --- /dev/null +++ b/managesieve/tests/src/parser_subaddress @@ -0,0 +1,11 @@ +require ["envelope","fileinto","subaddress"]; +if envelope :user "To" "postmaster" +{ + fileinto "postmaster"; + stop; +} +if envelope :detail :is "To" "mta-filters" +{ + fileinto "mta-filters"; + stop; +} diff --git a/managesieve/tests/src/parser_vacation b/managesieve/tests/src/parser_vacation new file mode 100644 index 0000000..93026db --- /dev/null +++ b/managesieve/tests/src/parser_vacation @@ -0,0 +1,12 @@ +require ["vacation"]; +# rule:[test-vacation] +if header :contains "Subject" "vacation" +{ + vacation :days 1 text: +# test +test test /* test */ +test +. +; + stop; +} diff --git a/managesieve/tests/src/parser_vacation_seconds b/managesieve/tests/src/parser_vacation_seconds new file mode 100644 index 0000000..75cbcae --- /dev/null +++ b/managesieve/tests/src/parser_vacation_seconds @@ -0,0 +1,12 @@ +require ["vacation-seconds"]; +# rule:[test-vacation] +if header :contains "Subject" "vacation" +{ + vacation :seconds 0 text: +# test +test test /* test */ +test +. +; + stop; +} diff --git a/managesieve/tests/src/parser_variables b/managesieve/tests/src/parser_variables new file mode 100644 index 0000000..bd5941c --- /dev/null +++ b/managesieve/tests/src/parser_variables @@ -0,0 +1,12 @@ +require ["variables"]; +set "honorific" "Mr"; +set "vacation" text: +Dear ${HONORIFIC} ${last_name}, +I am out, please leave a message after the meep. +. +; +set :length "b" "${a}"; +set :lower "b" "${a}"; +set :upperfirst "b" "${a}"; +set :upperfirst :lower "b" "${a}"; +set :quotewildcard "b" "Rock*"; -- cgit v1.2.3