uberExtensionTestScript.s [plain text]
require ["regex", "relational", "comparator-i;ascii-numeric", "subaddress", "envelope"]#this is for the extra thigns we have added to sieve
#test extensions
#envelope regex relational comparators subaddress(user and detail)
#need better relational and comparator tests...
if header :value "gt"
:comparator "i;ascii-numeric"
["number"] ["10"]
{redirect "me+numberover10@blah.com"
if header :count "gt"
:comparator "i;ascii-numeric"
["X"] ["3"]
{redirect "me+X@blah.com"#header regex
if header :regex "Date" "Tue,(.*)Feb(.*)"
{redirect "me+goodheaderregex@blah.com"
#address Regex
if address :all :regex "from" "cook(.)Monster(\\+.*)@cookie\\...."
{redirect "me+goodaallregex@blah.com"if address :domain :regex "from" "c..kie\\.com"
{redirect "me+goodadomainregex@blah.com"if address :localpart :regex "from" "c.{2,4}Monster(\\+.*)"
{redirect "me+goodalocalpartregex@blah.com"if address :user :regex "from" "cookyM.....r"
{redirect "me+goodauserregex@blah.com"if address :detail :regex "from" "whe*"
{redirect "me+goodadetailregex@blah.com"
#address user
if address :user :is "from" "mymonster"
{redirect "me+goodauseris@blah.com"if address :user :contains "from" "mym"
{redirect "me+goodausercontains@blah.com"if address :user :matches "from" "my*r"
{redirect "me+goodausermatches@blah.com"
#address detail
if address :detail :is "from" "underbed"
{redirect "me+goodadetailis@blah.com"if address :detail :contains "from" "bed"
{redirect "me+goodadetailcontains@blah.com"if address :detail :matches "from" "under*"
{redirect "me+goodadetailmatches@blah.com"######################################################################
#ENVELOPE
######################################################################
#envelope all
if envelope :all :is "from" "WERT+erk@true.com"
{redirect "me+eallis@blah.com"if envelope :all :contains "from" "true.com"
{redirect "me+eallcontains@blah.com"if envelope :all :matches "from" "WERT*.com"
{redirect "me+eallmatches@blah.com"
#envelope domain
if envelope :domain :is "from" "true.com"
{redirect "me+edomainis@blah.com"if envelope :domain :contains "from" "true"
{redirect "me+edomaincontains@blah.com"if envelope :domain :matches "from" "*true.com"
{redirect "me+edomainmatches@blah.com"
#envelope localpart
if envelope :localpart :is "from" "WERT+erk"
{redirect "me+elocalpartis@blah.com"if envelope :localpart :contains "from" "WE"
{redirect "me+elocalpartcontains@blah.com"if envelope :localpart :matches "from" "WE?T*"
{redirect "me+elocalpartmatches@blah.com"#envelope regex
if envelope :all :regex "from" "true.com"
{redirect "me+goodeallregex@blah.com"if envelope :domain :regex "from" "true.com"
{redirect "me+goodedomainregex@blah.com"if envelope :localpart :regex "from" "true.com"
{redirect "me+goodelocalpartregex@blah.com"if envelope :user :regex "from" "true.com"
{redirect "me+goodeuserregex@blah.com"if envelope :detail :regex "from" "true.com"
{redirect "me+goodedetailregex@blah.com"#envelope user
if envelope :user :is "from" "WERT"
{redirect "me+goodeuseris@blah.com"if envelope :user :contains "from" "WE"
{redirect "me+goodeusercontains@blah.com"if envelope :user :matches "from" "*RT"
{redirect "me+goodeusermatches@blah.com"
#envelope detail
if envelope :detail :is "from" "erk"
{redirect "me+goodedetailis@blah.com"if envelope :detail :contains "from" "k"
{redirect "me+goodedetailcontains@blah.com"if envelope :detail :matches "from" "e*k"
{redirect "me+goodedetailmatches@blah.com"