| 
									
										
										
										
											2012-06-18 20:35:21 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | require_once 'testDataFileIterator.php'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CodePageTest extends PHPUnit_Framework_TestCase | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function setUp() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2012-06-24 21:33:33 +00:00
										 |  |  |         if (!defined('PHPEXCEL_ROOT')) { | 
					
						
							| 
									
										
										
										
											2012-06-18 20:35:21 +00:00
										 |  |  |             define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * @dataProvider providerCodePage | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  | 	public function testCodePageNumberToName() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		$args = func_get_args(); | 
					
						
							|  |  |  | 		$expectedResult = array_pop($args); | 
					
						
							|  |  |  | 		$result = call_user_func_array(array('PHPExcel_Shared_CodePage','NumberToName'),$args); | 
					
						
							|  |  |  | 		$this->assertEquals($expectedResult, $result); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function providerCodePage() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |     	return new testDataFileIterator('rawTestData/Shared/CodePage.data'); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function testNumberToNameWithInvalidCodePage() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		$invalidCodePage = 12345; | 
					
						
							|  |  |  | 		try { | 
					
						
							|  |  |  | 			$result = call_user_func(array('PHPExcel_Shared_CodePage','NumberToName'),$invalidCodePage); | 
					
						
							|  |  |  | 		} catch (Exception $e) { | 
					
						
							|  |  |  | 			$this->assertEquals($e->getMessage(), 'Unknown codepage: 12345'); | 
					
						
							|  |  |  | 			return; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		$this->fail('An expected exception has not been raised.'); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function testNumberToNameWithUnsupportedCodePage() | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		$unsupportedCodePage = 720; | 
					
						
							|  |  |  | 		try { | 
					
						
							|  |  |  | 			$result = call_user_func(array('PHPExcel_Shared_CodePage','NumberToName'),$unsupportedCodePage); | 
					
						
							|  |  |  | 		} catch (Exception $e) { | 
					
						
							|  |  |  | 			$this->assertEquals($e->getMessage(), 'Code page 720 not supported.'); | 
					
						
							|  |  |  | 			return; | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		$this->fail('An expected exception has not been raised.'); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |