/** * get sieve rule object * * @return Felamimail_Sieve_Rule */ public function getFSR() { $fsr = new Felamimail_Sieve_Rule(); $fsr->setEnabled($this->enabled)->setId($this->id); $fsra = new Felamimail_Sieve_Rule_Action(); $fsra->setType($this->action_type)->setArgument($this->action_argument); $fsr->setAction($fsra); foreach ($this->conditions as $condition) { $fsrc = new Felamimail_Sieve_Rule_Condition(); $fsrc->setTest($condition['test'])->setComperator($condition['comperator'])->setHeader($condition['header'])->setKey($condition['key']); $fsr->addCondition($fsrc); } return $fsr; }
/** * test enabled rule */ public function testEnabledRule() { $script = new Felamimail_Sieve_Backend_Script(); $rule = new Felamimail_Sieve_Rule(); $condition = new Felamimail_Sieve_Rule_Condition(); $action = new Felamimail_Sieve_Rule_Action(); $condition->setComperator(Felamimail_Sieve_Rule_Condition::COMPERATOR_CONTAINS)->setTest(Felamimail_Sieve_Rule_Condition::TEST_ADDRESS)->setHeader('From')->setKey('*****@*****.**'); $action->setType(Felamimail_Sieve_Rule_Action::FILEINTO)->setArgument('INBOX/UNITTEST'); $rule->setEnabled(true)->setId(12)->setAction($action)->addCondition($condition); $script->addRule($rule); $sieveScript = $script->getSieve(); #echo $sieveScript; $this->assertContains('if allof (address :contains "From" "*****@*****.**")', $sieveScript); $this->assertContains('fileinto "INBOX/UNITTEST";', $sieveScript); $this->assertContains('Felamimail_Sieve_Rule', $sieveScript); }