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 + -
显示快捷键?