function testCleanLog()
 {
     $stats_request = new StatsRequest();
     $stats_request->setTime($time = time());
     $stats_request->setAction($action = 'test');
     $stats_request->setClientIp('127.0.0.1');
     $referer_uri = new Uri('http://example.com');
     $uri = new Uri('http://test.com');
     $stats_request->setRefererUri($referer_uri);
     $stats_request->setUri($uri);
     $this->stats_referer->setReturnValue('getId', $refered_id = 1);
     $this->stats_uri->setReturnValue('getId', $uri_id = 2);
     $this->register->register($stats_request);
     $stats_request->setTime(time() + 2 * 60 * 60 * 24);
     $this->register->register($stats_request);
     $stats_request->setTime(time() + 3 * 60 * 60 * 24);
     $this->register->register($stats_request);
     $stats_request->setTime(time() + 4 * 60 * 60 * 24);
     $this->register->register($stats_request);
     $stats_request->setTime(time() + 5 * 60 * 60 * 24);
     $this->register->register($stats_request);
     $stats_request->setTime(time() + 6 * 60 * 60 * 24);
     $this->register->register($stats_request);
     $this->register->cleanUntil(time() + 4 * 60 * 60 * 24 - 10);
     $rs =& $this->db->select('stats_hit');
     $this->assertEqual(3, $rs->getTotalRowCount());
 }
 function testIsNotAudienceHit()
 {
     $stats_request = new StatsRequest();
     $stats_request->setRefererUri(new Uri('http://test.com/root'));
     $this->assertFalse($stats_request->isAudienceHit());
 }
 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);
 }
 function testHomeHit()
 {
     $stats_request = new StatsRequest();
     $stats_request->setTime($time = time());
     $stats_request->setUri(new Uri('http://test.com'));
     $stats_request->setBaseUri(new Uri('http://test.com'));
     $this->ip_register->setReturnValue('isNewToday', false);
     $this->register->register($stats_request);
     $this->_checkStatsDayCountersRecord($hits_today = 1, $hosts_today = 0, $home_hits = 1, $audience_host = 0, $time);
 }