Changeset View
Changeset View
Standalone View
Standalone View
tests/unit/test-008-sievelib.py
Show All 32 Lines | |||||
""" | """ | ||||
require ["fileinto"]; | require ["fileinto"]; | ||||
if allof (header :contains "X-Mailer" "OTRS", header :contains "X-Powered-By" "OTRS", header :contains "Organization" "Example, Inc.") { fileinto "OTRS"; stop; } | if allof (header :contains "X-Mailer" "OTRS", header :contains "X-Powered-By" "OTRS", header :contains "Organization" "Example, Inc.") { fileinto "OTRS"; stop; } | ||||
""", | """, | ||||
] | ] | ||||
class TestSievelib(unittest.TestCase): | class TestSievelib(unittest.TestCase): | ||||
def test_001_import_sievelib(self): | def test_001_import_sievelib(self): | ||||
from sievelib.parser import Parser | from sievelib.parser import Parser | ||||
def test_002_parse_tests(self): | def test_002_parse_tests(self): | ||||
from sievelib.parser import Parser | from sievelib.parser import Parser | ||||
sieve_parser = Parser(debug=True) | sieve_parser = Parser(debug=True) | ||||
i = 0 | i = 0 | ||||
for sieve_str in sieve_scripts: | for sieve_str in sieve_scripts: | ||||
i += 1 | i += 1 | ||||
result = sieve_parser.parse(sieve_str) | result = sieve_parser.parse(sieve_str) | ||||
if not result: | if not result: | ||||
print "Sieve line: %r" % (sieve_parser.lexer.text.split('\n')[(sieve_parser.lexer.text[:sieve_parser.lexer.pos].count('\n'))]) | print "Sieve line: %r" % (sieve_parser.lexer.text.split('\n')[(sieve_parser.lexer.text[:sieve_parser.lexer.pos].count('\n'))]) | ||||
raise Exception, "Failed parsing Sieve script #%d: %s" % (i, sieve_parser.error) | raise Exception("Failed parsing Sieve script #%d: %s" % (i, sieve_parser.error)) |