ResourcesValidatorTest.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. /**
  3. * Lithium: the most rad php framework
  4. *
  5. * @copyright Copyright 2013, Union of RAD (http://union-of-rad.org)
  6. * @license http://opensource.org/licenses/bsd-license.php The BSD License
  7. */
  8. namespace lithium\tests\integration\g11n;
  9. use lithium\g11n\Catalog;
  10. use lithium\util\Validator;
  11. class ResourcesValidatorTest extends \lithium\test\Integration {
  12. protected $_backup = array();
  13. public function setUp() {
  14. $this->_backup['catalogConfig'] = Catalog::config();
  15. Catalog::reset();
  16. Catalog::config(array(
  17. 'lithium' => array(
  18. 'adapter' => 'Php',
  19. 'path' => LITHIUM_LIBRARY_PATH . '/lithium/g11n/resources/php'
  20. )));
  21. Validator::__init();
  22. }
  23. public function tearDown() {
  24. Catalog::reset();
  25. Catalog::config($this->_backup['catalogConfig']);
  26. }
  27. public function testDaDk() {
  28. Validator::add(Catalog::read('lithium', 'validation', 'da_DK'));
  29. $this->assertTrue(Validator::isSsn('123456-1234'));
  30. $this->assertFalse(Validator::isSsn('12345-1234'));
  31. }
  32. public function testDeBe() {
  33. Validator::add(Catalog::read('lithium', 'validation', 'de_BE'));
  34. $this->assertTrue(Validator::isPostalCode('1234'));
  35. $this->assertTrue(Validator::isPostalCode('1234'));
  36. $this->assertFalse(Validator::isPostalCode('0123'));
  37. }
  38. public function testDeDe() {
  39. Validator::add(Catalog::read('lithium', 'validation', 'de_DE'));
  40. $this->assertTrue(Validator::isPostalCode('12345'));
  41. $this->assertFalse(Validator::isPostalCode('123456'));
  42. }
  43. public function testEnCa() {
  44. Validator::add(Catalog::read('lithium', 'validation', 'en_CA'));
  45. $this->assertTrue(Validator::isPhone('(401) 321-9876'));
  46. $this->assertTrue(Validator::isPostalCode('M5J 2G8'));
  47. $this->assertTrue(Validator::isPostalCode('H2X 3X5'));
  48. }
  49. public function testEnGb() {
  50. Validator::add(Catalog::read('lithium', 'validation', 'en_GB'));
  51. $this->assertTrue(Validator::isPostalCode('M1 1AA'));
  52. $this->assertTrue(Validator::isPostalCode('M60 1NW'));
  53. $this->assertTrue(Validator::isPostalCode('CR2 6XH'));
  54. $this->assertTrue(Validator::isPostalCode('DN55 1PT'));
  55. $this->assertTrue(Validator::isPostalCode('W1A 1HQ'));
  56. $this->assertTrue(Validator::isPostalCode('EC1A 1BB'));
  57. $this->assertTrue(Validator::isPostalCode('FK7 0AQ'));
  58. $this->assertTrue(Validator::isPostalCode('FK8 2ET'));
  59. $this->assertTrue(Validator::isPostalCode('FK8 1EB'));
  60. $this->assertTrue(Validator::isPostalCode('EH1 1QX'));
  61. $this->assertFalse(Validator::isPostalCode('EH1-1QX'));
  62. $this->assertFalse(Validator::isPostalCode('EH11QX'));
  63. $this->assertFalse(Validator::isPostalCode('FEH1 1QX'));
  64. }
  65. public function testEnUs() {
  66. Validator::add(Catalog::read('lithium', 'validation', 'en_US'));
  67. $this->assertTrue(Validator::isPhone('(401) 321-9876'));
  68. $this->assertTrue(Validator::isPostalCode('11201'));
  69. $this->assertTrue(Validator::isPostalCode('11201-0456'));
  70. $this->assertTrue(Validator::isSsn('478-36-4120'));
  71. $this->assertFalse(Validator::isSsn('478-36-41200'));
  72. $this->assertFalse(Validator::isSsn('478364120'));
  73. }
  74. public function testFrBe() {
  75. Validator::add(Catalog::read('lithium', 'validation', 'fr_BE'));
  76. $this->assertTrue(Validator::isPostalCode('1234'));
  77. $this->assertTrue(Validator::isPostalCode('1234'));
  78. $this->assertFalse(Validator::isPostalCode('0123'));
  79. }
  80. public function testFrCa() {
  81. Validator::add(Catalog::read('lithium', 'validation', 'fr_CA'));
  82. $this->assertTrue(Validator::isPhone('(401) 321-9876'));
  83. $this->assertTrue(Validator::isPostalCode('M5J 2G8'));
  84. $this->assertTrue(Validator::isPostalCode('H2X 3X5'));
  85. }
  86. public function testItIt() {
  87. Validator::add(Catalog::read('lithium', 'validation', 'it_IT'));
  88. $this->assertTrue(Validator::isPostalCode('12345'));
  89. $this->assertFalse(Validator::isPostalCode('123456'));
  90. }
  91. public function testNlBe() {
  92. Validator::add(Catalog::read('lithium', 'validation', 'nl_BE'));
  93. $this->assertTrue(Validator::isPostalCode('1234'));
  94. $this->assertTrue(Validator::isPostalCode('1234'));
  95. $this->assertFalse(Validator::isPostalCode('0123'));
  96. }
  97. public function testNlNl() {
  98. Validator::add(Catalog::read('lithium', 'validation', 'nl_NL'));
  99. $this->assertTrue(Validator::isSsn('123456789'));
  100. $this->assertFalse(Validator::isSsn('12345678'));
  101. }
  102. }
  103. ?>