period.test.php
来自「一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大. 无色提示:」· PHP 代码 · 共 981 行 · 第 1/2 页
PHP
981 行
'2024-02-26', '2024-02-27', '2024-02-28', '2024-02-29', '2024-03-01', '2024-03-02', '2024-03-03',); $week = new Piwik_Period_Week( Piwik_Date::factory('2024-02-27')); $this->assertEqual( $week->toString(), $correct); $this->assertEqual( $week->getNumberOfSubperiods(), 7); $this->assertEqual( $week->isFinished(), false); $week = new Piwik_Period_Week( Piwik_Date::factory('2024-03-01')); $this->assertEqual( $week->toString(), $correct); $this->assertEqual( $week->getNumberOfSubperiods(), 7); $this->assertEqual( $week->isFinished(), false); } // test week normal middle of the month function test_week_middleofmonth() { $correct=array( '2024-10-07', '2024-10-08', '2024-10-09', '2024-10-10', '2024-10-11', '2024-10-12', '2024-10-13',); $week = new Piwik_Period_Week( Piwik_Date::factory('2024-10-09')); $this->assertEqual( $week->toString(), $correct); $this->assertEqual( $week->getNumberOfSubperiods(), 7); $this->assertEqual( $week->isFinished(), false); } /** * Testing Period_Year */ // test normal case function test_year_normalcase() { $correct=array( '2024-01-01', '2024-02-01', '2024-03-01', '2024-04-01', '2024-05-01', '2024-06-01', '2024-07-01', '2024-08-01', '2024-09-01', '2024-10-01', '2024-11-01', '2024-12-01',); $year = new Piwik_Period_Year( Piwik_Date::factory('2024-10-09')); $this->assertEqual( $year->getNumberOfSubperiods(), 12); $this->assertEqual( $year->isFinished(), false); $this->assertEqual( $year->toString(), $correct); } // test past function test_year_pastAndWrongdate() { $correct=array( '2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01', '2000-05-01', '2000-06-01', '2000-07-01', '2000-08-01', '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01', ); $week = new Piwik_Period_Year( Piwik_Date::factory('2000-02-15')); $this->assertEqual( $week->getNumberOfSubperiods(), 12); $this->assertEqual( $week->isFinished(), true); $this->assertEqual( $week->toString(), $correct); } // test range 1 function test_range_today() { $range = new Piwik_Period_Range( 'day', 'last1' ); $today = Piwik_Date::today(); $correct=array( $today->toString(), ); $correct = array_reverse($correct); $this->assertEqual( $range->getNumberOfSubperiods(), 1); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), $correct); } // test range 2 function test_range_2days() { $range = new Piwik_Period_Range( 'day', 'last2' ); $today = Piwik_Date::today(); $correct=array( $today->toString(), $today->subDay(1)->toString() ); $correct = array_reverse($correct); $this->assertEqual( $range->getNumberOfSubperiods(), 2); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), $correct); } // test range 3 function test_range_5days() { $range = new Piwik_Period_Range( 'day', 'last50' ); $today = Piwik_Date::today(); $correct = array(); for($i=0;$i<50;$i++) { $correct[]=$today->subDay($i)->toString(); } $correct = array_reverse($correct); $this->assertEqual( $range->getNumberOfSubperiods(), 50); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), $correct); } // test range 4 function test_range_previous3days() { $range = new Piwik_Period_Range( 'day', 'previous3' ); $yesterday = Piwik_Date::yesterday(); $correct = array(); for($i=0;$i<3;$i++) { $correct[]=$yesterday->subDay($i)->toString(); } $correct = array_reverse($correct); $this->assertEqual( $range->getNumberOfSubperiods(), 3); $this->assertEqual( $range->isFinished(), true); $this->assertEqual( $range->toString(), $correct); } // test range date1,date2 function test_range_comma1() { $range = new Piwik_Period_Range( 'day', '2008-01-01,2008-01-03' ); $correct = array( '2008-01-01', '2008-01-02', '2008-01-03', ); $this->assertEqual( $range->getNumberOfSubperiods(), count($correct)); $this->assertEqual( $range->isFinished(), true); $this->assertEqual( $range->toString(), $correct); } // test range date1,date2 function test_range_comma2() { $range = new Piwik_Period_Range( 'day', '2007-12-22,2008-01-03' ); $correct = array( '2007-12-22', '2007-12-23', '2007-12-24', '2007-12-25', '2007-12-26', '2007-12-27', '2007-12-28', '2007-12-29', '2007-12-30', '2007-12-31', '2008-01-01', '2008-01-02', '2008-01-03', ); $this->assertEqual( $range->getNumberOfSubperiods(), count($correct)); $this->assertEqual( $range->isFinished(), true); $this->assertEqual( $range->toString(), $correct); } // test range date1,date2 function test_range_weekcomma1() { $range = new Piwik_Period_Range( 'week', '2007-12-22,2008-01-03' ); $correct = array( array( '2007-12-17', '2007-12-18', '2007-12-19', '2007-12-20', '2007-12-21', '2007-12-22', '2007-12-23', ), array( '2007-12-24', '2007-12-25', '2007-12-26', '2007-12-27', '2007-12-28', '2007-12-29', '2007-12-30', ), array( '2007-12-31', '2008-01-01', '2008-01-02', '2008-01-03', '2008-01-04', '2008-01-05', '2008-01-06', ) ); $this->assertEqual( $range->getNumberOfSubperiods(), count($correct)); $this->assertEqual( $range->isFinished(), true); $this->assertEqual( $range->toString(), $correct); } // test range date1,date2 function test_range_yearcomma1() { $range = new Piwik_Period_Range( 'year', '2006-12-22,2007-01-03' ); $correct = array( array ( 0 => '2006-01-01', 1 => '2006-02-01', 2 => '2006-03-01', 3 => '2006-04-01', 4 => '2006-05-01', 5 => '2006-06-01', 6 => '2006-07-01', 7 => '2006-08-01', 8 => '2006-09-01', 9 => '2006-10-01', 10 => '2006-11-01', 11 => '2006-12-01', ), 1 => array ( 0 => '2007-01-01', 1 => '2007-02-01', 2 => '2007-03-01', 3 => '2007-04-01', 4 => '2007-05-01', 5 => '2007-06-01', 6 => '2007-07-01', 7 => '2007-08-01', 8 => '2007-09-01', 9 => '2007-10-01', 10 => '2007-11-01', 11 => '2007-12-01', ), ); $this->assertEqual( $range->getNumberOfSubperiods(), count($correct)); $this->assertEqual( $range->isFinished(), true); $this->assertEqual( $range->toString(), $correct); } // test range date1,date2 function test_range_monthcomma1() { $range = new Piwik_Period_Range( 'month', '2006-12-22,2007-01-03' ); $correct = array( array( '2006-12-01', '2006-12-02', '2006-12-03', '2006-12-04', '2006-12-05', '2006-12-06', '2006-12-07', '2006-12-08', '2006-12-09', '2006-12-10', '2006-12-11', '2006-12-12', '2006-12-13', '2006-12-14', '2006-12-15', '2006-12-16', '2006-12-17', '2006-12-18', '2006-12-19', '2006-12-20', '2006-12-21', '2006-12-22', '2006-12-23', '2006-12-24', '2006-12-25', '2006-12-26', '2006-12-27', '2006-12-28', '2006-12-29', '2006-12-30', '2006-12-31', ), array( '2007-01-01', '2007-01-02', '2007-01-03', '2007-01-04', '2007-01-05', '2007-01-06', '2007-01-07', '2007-01-08', '2007-01-09', '2007-01-10', '2007-01-11', '2007-01-12', '2007-01-13', '2007-01-14', '2007-01-15', '2007-01-16', '2007-01-17', '2007-01-18', '2007-01-19', '2007-01-20', '2007-01-21', '2007-01-22', '2007-01-23', '2007-01-24', '2007-01-25', '2007-01-26', '2007-01-27', '2007-01-28', '2007-01-29', '2007-01-30', '2007-01-31', ), ); $this->assertEqual( $range->getNumberOfSubperiods(), count($correct)); $this->assertEqual( $range->isFinished(), true); $this->assertEqual( $range->toString(), $correct); } // test range WEEK function test_range_week() { $range = new Piwik_Period_Range( 'week', 'last50' ); $today = Piwik_Date::today(); $correct = array(); for($i=0;$i<50;$i++) { $date = $today->subDay($i*7); $week = new Piwik_Period_Week($date); $correct[]= $week->toString(); } $correct = array_reverse($correct); $this->assertEqual( $range->getNumberOfSubperiods(), 50); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), $correct); } // test range WEEK last1 function test_range_week_last1() { $range = new Piwik_Period_Range( 'week', 'last1' ); $currentWeek = new Piwik_Period_Week(Piwik_Date::today()); $this->assertEqual( $range->getNumberOfSubperiods(), 1); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), array($currentWeek->toString())); } // test range MONTH function test_range_month() { $range = new Piwik_Period_Range( 'month', 'last20' ); $today = Piwik_Date::today(); $correct = array(); for($i=0;$i<20;$i++) { $date = $today->subMonth($i); $week = new Piwik_Period_Month($date); $correct[]= $week->toString(); } $correct = array_reverse($correct); $this->assertEqual( $range->getNumberOfSubperiods(), 20); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), $correct); } // test range MONTH last1 function test_range_month_last1() { $range = new Piwik_Period_Range( 'month', 'last1' ); $month = new Piwik_Period_Month(Piwik_Date::today()); $this->assertEqual( $range->getNumberOfSubperiods(), 1); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), array($month->toString())); } // test range PREVIOUS MONTH function test_range_previousmonth() { $range = new Piwik_Period_Range( 'month', 'previous10' ); $end = Piwik_Date::today(); $end = $end->subMonth(1); $correct = array(); for($i=0;$i<10;$i++) { $date = $end->subMonth($i); $week = new Piwik_Period_Month($date); $correct[]= $week->toString(); } $correct = array_reverse($correct); $this->assertEqual( $range->getNumberOfSubperiods(), 10); $this->assertEqual( $range->isFinished(), true); $this->assertEqual( $range->toString(), $correct); } // test range YEAR function test_range_year() { $range = new Piwik_Period_Range( 'year', 'last10' ); $today = Piwik_Date::today(); $correct = array(); for($i=0;$i<10;$i++) { $date = $today->subMonth(12*$i); $week = new Piwik_Period_Year($date); $correct[]= $week->toString(); } $correct = array_reverse($correct); $this->assertEqual( $range->getNumberOfSubperiods(), 10); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), $correct); } // test range YEAR last1 function test_range_year_last1() { $range = new Piwik_Period_Range( 'year', 'last1' ); $currentYear = new Piwik_Period_Year(Piwik_Date::today()); $this->assertEqual( $range->getNumberOfSubperiods(), 1); $this->assertEqual( $range->isFinished(), false); $this->assertEqual( $range->toString(), array($currentYear->toString())); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?