/** * create new sieve script for the configured backend * * @param string|Felamimail_Model_Account $_accountId * @param Felamimail_Sieve_Backend_Abstract $_copyScript * @return Felamimail_Sieve_Backend_Abstract */ protected function _createNewSieveScript($_accountId, $_copyScript = NULL) { if ($this->_scriptDataBackend === 'Sql') { $script = new Felamimail_Sieve_Backend_Sql($_accountId, FALSE); } else { $script = new Felamimail_Sieve_Backend_Script(); } if ($_copyScript !== NULL) { $script->getDataFromScript($_copyScript); } return $script; }
/** * parse serialized sieve rule */ public function testParseSerializedSieveRule() { $script = new Felamimail_Sieve_Backend_Script(); $script->setScriptToParse($this->_serializedSieveRule); $script->readScriptData(); $script->setScriptToParse($this->_smartSieveRuleFileInto); $script->readScriptData(); $script->setScriptToParse($this->_smartSieveRuleDiscard); $script->readScriptData(); $script->setScriptToParse($this->_smartSieveVacation); $script->readScriptData(); $rules = $script->getRules(); $this->assertEquals(3, count($rules)); }