function testRegister() { $rule_match = new MockSearchEngineRegexRule($this); $rule_match->setReturnValue('match', true); $rule_match->setReturnValue('getMatchingPhrase', 'test'); $rule_match->setReturnValue('getEngineName', 'engine_name'); $this->stats_search_phrase->registerSearchEngineRule($rule_match); $date = new Date(); $this->assertTrue($this->stats_search_phrase->register($date)); $db = DbFactory::instance(); $db->sqlSelect('sys_stat_search_phrase'); $arr = $db->getArray(); $this->assertEqual(sizeof($arr), 1); $record = current($arr); $this->assertEqual($record['phrase'], 'test'); $this->assertEqual($record['engine'], 'engine_name'); $this->assertEqual($record['time'], $date->getStamp()); }
function testRegisterFailedNoMatchingRule() { $rule = new MockSearchEngineRegexRule($this); $rule->setReturnValue('getMatchingPhrase', $phrase = 'test'); $rule->setReturnValue('getEngineName', $name = 'engine_name'); $rule->expectOnce('match', array($url = 'http://example.com')); $rule->setReturnValue('match', false); $this->register->registerSearchEngineRule($rule); $stats_request = new StatsRequest(); $stats_request->setTime($time = time()); $stats_request->setRefererUri(new Uri($url)); $this->assertFalse($this->register->register($stats_request)); $rs =& $this->db->select('stats_search_phrase'); $this->assertEqual($rs->getRowCount(), 0); }