/standard/tags/release-0.7.0/tests/Zend/LocaleTest.php

https://github.com/bhaumik25/zend-framework · PHP · 616 lines · 291 code · 101 blank · 224 comment · 0 complexity · 4f21513d7e28c54e000cc79d70fcb500 MD5 · raw file

  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_Locale
  17. * @subpackage UnitTests
  18. * @copyright Copyright (c) 2006 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. * @version $Id$
  21. */
  22. error_reporting( E_ALL | E_STRICT ); // now required for each test suite
  23. // define('TESTS_ZEND_LOCALE_BCMATH_ENABLED', false); // uncomment to disable use of bcmath extension by Zend_Date
  24. /**
  25. * Zend_Locale
  26. */
  27. require_once 'Zend.php';
  28. require_once 'Zend/Locale.php';
  29. /**
  30. * PHPUnit test case
  31. */
  32. require_once 'PHPUnit/Framework/TestCase.php';
  33. // echo "BCMATH is ", Zend_Locale_Math::isBcmathDisabled() ? 'disabled':'not disabled', "\n";
  34. /**
  35. * @package Zend_Locale
  36. * @subpackage UnitTests
  37. */
  38. class Zend_LocaleTest extends PHPUnit_Framework_TestCase
  39. {
  40. /**
  41. * test for initialisation without parameter
  42. * expected instance
  43. */
  44. public function testInit()
  45. {
  46. $value = new Zend_Locale();
  47. $this->assertTrue($value instanceof Zend_Locale,'Zend_Locale Object not returned');
  48. }
  49. /**
  50. * test for initialisation with locale parameter
  51. * expected instance
  52. */
  53. public function testInitLocale()
  54. {
  55. $value = new Zend_Locale('root');
  56. $this->assertTrue($value instanceof Zend_Locale,'Zend_Locale Object not returned');
  57. }
  58. /**
  59. * test for initialisation with environment search
  60. * expected instance
  61. */
  62. public function testInitSearchEnv()
  63. {
  64. $value = new Zend_Locale(Zend_Locale::ENVIRONMENT);
  65. $this->assertTrue($value instanceof Zend_Locale,'Zend_Locale Object not returned');
  66. }
  67. /**
  68. * test for initialisation with browser search
  69. * expected instance
  70. */
  71. public function testInitSearchHTTP()
  72. {
  73. $value = new Zend_Locale(Zend_Locale::BROWSER);
  74. $this->assertTrue($value instanceof Zend_Locale,'Zend_Locale Object not returned');
  75. }
  76. /**
  77. * test for serialization
  78. * expected string
  79. */
  80. public function testSerialize()
  81. {
  82. $value = new Zend_Locale('de_DE');
  83. $serial = $value->serialize();
  84. $this->assertTrue(!empty($serial),'Zend_Locale not serialized');
  85. }
  86. /**
  87. * test for unserialization
  88. * expected object
  89. */
  90. public function testLocaleUnSerialize()
  91. {
  92. $value = new Zend_Locale('de_DE');
  93. $serial = $value->serialize();
  94. $newvalue = unserialize($serial);
  95. $this->assertTrue($value->equals($newvalue),'Zend_Locale not unserialized');
  96. }
  97. /**
  98. * test toString
  99. * expected string
  100. */
  101. public function testToString()
  102. {
  103. $value = new Zend_Locale('de_DE');
  104. $this->assertEquals($value->toString(), 'de_DE', 'Locale de_DE expected');
  105. }
  106. /**
  107. * test __toString
  108. * expected string
  109. */
  110. public function test_ToString()
  111. {
  112. $value = new Zend_Locale('de_DE');
  113. $this->assertEquals($value->__toString(), 'de_DE', 'Value de_DE expected');
  114. }
  115. /**
  116. * test getDefault
  117. * expected true
  118. */
  119. public function testDefault()
  120. {
  121. $value = new Zend_Locale();
  122. $default = $value->getDefault();
  123. $this->assertTrue(is_array($default), 'No Default Locale found');
  124. }
  125. /**
  126. * test getDefaultBrowser
  127. * expected true
  128. */
  129. public function testDefaultBrowser()
  130. {
  131. $value = new Zend_Locale();
  132. $default = $value->getDefault(Zend_Locale::BROWSER);
  133. $this->assertTrue(is_array($default), 'No Default Locale found');
  134. }
  135. /**
  136. * test getDefaultEnvironment
  137. * expected true
  138. */
  139. public function testDefaultEnvironment()
  140. {
  141. $value = new Zend_Locale();
  142. $default = $value->getDefault(Zend_Locale::ENVIRONMENT);
  143. $this->assertTrue(is_array($default), 'No Default Locale found');
  144. }
  145. /**
  146. * test getDefaultFramework
  147. * expected true
  148. */
  149. public function testDefaultFramework()
  150. {
  151. $value = new Zend_Locale();
  152. $default = $value->getDefault(Zend_Locale::FRAMEWORK);
  153. $this->assertTrue(is_array($default), 'No Default Locale found');
  154. }
  155. /**
  156. * test getEnvironment
  157. * expected true
  158. */
  159. public function testEnvironment()
  160. {
  161. $value = new Zend_Locale();
  162. $default = $value->getEnvironment();
  163. $this->assertTrue(is_array($default), 'No Environment Locale found');
  164. }
  165. /**
  166. * test getBrowser
  167. * expected true
  168. */
  169. public function testBrowser()
  170. {
  171. $value = new Zend_Locale();
  172. $default = $value->getBrowser();
  173. $this->assertTrue(is_array($default), 'No Environment Locale found');
  174. }
  175. /**
  176. * test clone
  177. * expected true
  178. */
  179. public function testCloneing()
  180. {
  181. $value = new Zend_Locale('de_DE');
  182. $newvalue = clone $value;
  183. $this->assertEquals($value->toString(), $newvalue->toString(), 'Cloning Locale failed');
  184. }
  185. /**
  186. * test setLocale
  187. * expected true
  188. */
  189. public function testsetLocale()
  190. {
  191. $value = new Zend_Locale('de_DE');
  192. $value->setLocale('en_US');
  193. $this->assertEquals($value->toString(), 'en_US', 'Environment Locale not set');
  194. }
  195. /**
  196. * test setLocaleFailed
  197. * expected true
  198. */
  199. public function testsetLocaleFailed()
  200. {
  201. $value = new Zend_Locale('de_DE');
  202. $value->setLocale('en_AA');
  203. $this->assertEquals($value->toString(), 'en', 'Environment Locale not set');
  204. }
  205. /**
  206. * test setLocaleFailedRoot
  207. * expected true
  208. */
  209. public function testsetLocaleFailedRoot()
  210. {
  211. $value = new Zend_Locale();
  212. $value->setLocale('xx_AA');
  213. $this->assertEquals($value->toString(), 'root', 'Environment Locale not set');
  214. }
  215. /**
  216. * test getLanguageList
  217. * expected true
  218. */
  219. public function testgetLanguageList()
  220. {
  221. $value = new Zend_Locale();
  222. $list = $value->getLanguageList();
  223. $this->assertTrue(is_array($list), 'Language List not returned');
  224. }
  225. /**
  226. * test getLanguageListLocale
  227. * expected true
  228. */
  229. public function testgetLanguageListLocale()
  230. {
  231. $value = new Zend_Locale();
  232. $list = $value->getLanguageList('de');
  233. $this->assertTrue(is_array($list), 'Language List not returned');
  234. }
  235. /**
  236. * test getLanguageDisplay
  237. * expected true
  238. */
  239. public function testgetLanguageDisplay()
  240. {
  241. $value = new Zend_Locale('de_AT');
  242. $list = $value->getLanguageDisplay('de');
  243. $this->assertEquals($list, 'Deutsch', 'Language Display not returned');
  244. }
  245. /**
  246. * test getLanguageDisplay
  247. * expected true
  248. */
  249. public function testgetLanguageDisplayLocale()
  250. {
  251. $value = new Zend_Locale('de_AT');
  252. $list = $value->getLanguageDisplay('de','en');
  253. $this->assertEquals($list, 'German', 'Language Display not returned');
  254. }
  255. /**
  256. * test getLanguageDisplayFalse
  257. * expected false
  258. */
  259. public function testgetLanguageDisplayFalse()
  260. {
  261. $value = new Zend_Locale();
  262. $list = $value->getLanguageDisplay('xyz');
  263. $this->assertFalse(is_string($list), 'Language Display should be false');
  264. }
  265. /**
  266. * test getScriptList
  267. * expected true
  268. */
  269. public function testgetScriptList()
  270. {
  271. $value = new Zend_Locale();
  272. $list = $value->getScriptList();
  273. $this->assertTrue(is_array($list), 'Script List not returned');
  274. }
  275. /**
  276. * test getScriptList
  277. * expected true
  278. */
  279. public function testgetScriptListLocale()
  280. {
  281. $value = new Zend_Locale();
  282. $list = $value->getScriptList('de');
  283. $this->assertTrue(is_array($list), 'Script List not returned');
  284. }
  285. /**
  286. * test getScriptDisplay
  287. * expected true
  288. */
  289. public function testgetScriptDisplay()
  290. {
  291. $value = new Zend_Locale('de_AT');
  292. $list = $value->getScriptDisplay('Arab');
  293. $this->assertEquals($list, 'Arabisch', 'Script Display not returned');
  294. }
  295. /**
  296. * test getScriptDisplay
  297. * expected true
  298. */
  299. public function testgetScriptDisplayLocale()
  300. {
  301. $value = new Zend_Locale('de_AT');
  302. $list = $value->getScriptDisplay('Arab', 'en');
  303. $this->assertEquals($list, 'Arabic', 'Script Display not returned');
  304. }
  305. /**
  306. * test getScriptDisplayFalse
  307. * expected false
  308. */
  309. public function testgetScriptDisplayFalse()
  310. {
  311. $value = new Zend_Locale();
  312. $list = $value->getScriptDisplay('xyz');
  313. $this->assertFalse(is_string($list), 'Script Display should be false');
  314. }
  315. /**
  316. * test getRegionList
  317. * expected true
  318. */
  319. public function testgetRegionList()
  320. {
  321. $value = new Zend_Locale();
  322. $list = $value->getRegionList();
  323. $this->assertTrue(is_array($list), 'Region List not returned');
  324. }
  325. /**
  326. * test getRegionList
  327. * expected true
  328. */
  329. public function testgetRegionListLocale()
  330. {
  331. $value = new Zend_Locale();
  332. $list = $value->getRegionList('de');
  333. $this->assertTrue(is_array($list), 'Region List not returned');
  334. }
  335. /**
  336. * test getRegionDisplay
  337. * expected true
  338. */
  339. public function testgetRegionDisplay()
  340. {
  341. $value = new Zend_Locale('de_AT');
  342. $list = $value->getRegionDisplay('DE');
  343. $this->assertEquals($list, 'Deutschland', 'Region Display not returned');
  344. }
  345. /**
  346. * test getRegionDisplay
  347. * expected true
  348. */
  349. public function testgetRegionDisplayLocale()
  350. {
  351. $value = new Zend_Locale('de_AT');
  352. $list = $value->getRegionDisplay('DE','en');
  353. $this->assertEquals($list, 'Germany', 'Region Display not returned');
  354. }
  355. /**
  356. * test getRegionDisplayFalse
  357. * expected false
  358. */
  359. public function testgetRegionDisplayFalse()
  360. {
  361. $value = new Zend_Locale();
  362. $list = $value->getRegionDisplay('xyz');
  363. $this->assertFalse(is_string($list), 'Region Display should be false');
  364. }
  365. /**
  366. * test getCalendarList
  367. * expected true
  368. */
  369. public function testgetCalendarList()
  370. {
  371. $value = new Zend_Locale();
  372. $list = $value->getCalendarList();
  373. $this->assertTrue(is_array($list), 'Calendar List not returned');
  374. }
  375. /**
  376. * test getCalendarList
  377. * expected true
  378. */
  379. public function testgetCalendarListLocale()
  380. {
  381. $value = new Zend_Locale();
  382. $list = $value->getCalendarList('de');
  383. $this->assertTrue(is_array($list), 'Calendar List not returned');
  384. }
  385. /**
  386. * test getCalendarDisplay
  387. * expected true
  388. */
  389. public function testgetCalendarDisplay()
  390. {
  391. $value = new Zend_Locale('de');
  392. $list = $value->getCalendarDisplay('chinese');
  393. $this->assertEquals($list, 'Chinesischer Kalender', 'Calendar Display not returned');
  394. }
  395. /**
  396. * test getCalendarDisplay
  397. * expected true
  398. */
  399. public function testgetCalendarDisplayLocale()
  400. {
  401. $value = new Zend_Locale('de');
  402. $list = $value->getCalendarDisplay('chinese','en');
  403. $this->assertEquals($list, 'Chinese Calendar', 'Calendar Display not returned');
  404. }
  405. /**
  406. * test getCalendarFalse
  407. * expected false
  408. */
  409. public function testgetCalendarDisplayFalse()
  410. {
  411. $value = new Zend_Locale();
  412. $list = $value->getCalendarDisplay('xyz');
  413. $this->assertFalse(is_string($list), 'Calendar Display should be false');
  414. }
  415. /**
  416. * test getLanguage
  417. * expected true
  418. */
  419. public function testgetLanguage()
  420. {
  421. $value = new Zend_Locale('de_DE');
  422. $this->assertEquals($value->getLanguage(), 'de', 'No language found');
  423. }
  424. /**
  425. * test getRegion
  426. * expected true
  427. */
  428. public function testgetRegion()
  429. {
  430. $value = new Zend_Locale('de_DE');
  431. $this->assertEquals($value->getRegion(), 'DE', 'No region found');
  432. }
  433. /**
  434. * test getRegionEmpty
  435. * expected true
  436. */
  437. public function testgetRegionEmpty()
  438. {
  439. $value = new Zend_Locale('de');
  440. $this->assertEquals($value->getRegion(), '', 'No region found');
  441. }
  442. /**
  443. * test for equality
  444. * expected string
  445. */
  446. public function testEquals()
  447. {
  448. $value = new Zend_Locale('de_DE');
  449. $serial = new Zend_Locale('de_DE');
  450. $this->assertTrue($value->equals($serial),'Zend_Locale not equals');
  451. }
  452. /**
  453. * test for non equality
  454. * expected string
  455. */
  456. public function testNonEquals()
  457. {
  458. $value = new Zend_Locale('de_DE');
  459. $serial = new Zend_Locale('de_AT');
  460. $this->assertFalse($value->equals($serial),'Zend_Locale equal ?');
  461. }
  462. /**
  463. * test getQuestion
  464. * expected true
  465. */
  466. public function testgetQuestion()
  467. {
  468. $value = new Zend_Locale();
  469. $list = $value->getQuestion();
  470. $this->assertTrue(isset($list['yes']), 'Question not returned');
  471. }
  472. /**
  473. * test getQuestion
  474. * expected true
  475. */
  476. public function testgetQuestionLocale()
  477. {
  478. $value = new Zend_Locale();
  479. $list = $value->getQuestion('de');
  480. $this->assertTrue(isset($list['yes']), 'Question not returned');
  481. }
  482. /**
  483. * test getBrowser
  484. * expected true
  485. */
  486. public function testgetBrowser()
  487. {
  488. putenv("HTTP_ACCEPT_LANGUAGE=,de,en-UK-US;q=0.5,fr_FR;q=0.2");
  489. $value = new Zend_Locale();
  490. $list = $value->getBrowser();
  491. $this->assertTrue(isset($list['de']), 'language array not returned');
  492. }
  493. /**
  494. * test getHttpCharset
  495. * expected true
  496. */
  497. public function testgetHttpCharset()
  498. {
  499. putenv("HTTP_ACCEPT_CHARSET=,iso-8859-1, utf-8, utf-16, *;q=0.1");
  500. $value = new Zend_Locale();
  501. $list = $value->getHTTPCharset();
  502. $this->assertTrue(isset($list['utf-8']), 'language array not returned');
  503. }
  504. /**
  505. * test getHttpCharset
  506. * expected true
  507. */
  508. public function testgetEmptyHttpCharset()
  509. {
  510. putenv("HTTP_ACCEPT_CHARSET=");
  511. $value = new Zend_Locale();
  512. $list = $value->getHTTPCharset();
  513. $this->assertTrue(empty($list), 'language array must be empty');
  514. }
  515. }