Sfoglia il codice sorgente

Fixes #115 - Add .RS to validate Serbian domains

Thanks to @siad007
Frank Brückner 12 anni fa
parent
commit
65f20be61a
2 ha cambiato i file con 14 aggiunte e 0 eliminazioni
  1. 2 0
      library/Zend/Validate/Hostname.php
  2. 12 0
      tests/Zend/Validate/HostnameTest.php

+ 2 - 0
library/Zend/Validate/Hostname.php

@@ -180,6 +180,7 @@ class Zend_Validate_Hostname extends Zend_Validate_Abstract
      * (.PR) Puerto Rico http://www.nic.pr/idn_rules.asp
      * (.PT) Portugal https://online.dns.pt/dns_2008/do?com=DS;8216320233;111;+PAGE(4000058)+K-CAT-CODIGO(C.125)+RCNT(100);
      * (.RU) Russia http://www.iana.org/domains/idn-tables/tables/ru_ru-ru_1.0.html
+     * (.RS) Serbia http://www.iana.org/domains/idn-tables/tables/rs_sr-rs_1.0.pdf
      * (.SA) Saudi Arabia http://www.iana.org/domains/idn-tables/tables/sa_ar_1.0.html
      * (.SE) Sweden http://www.iis.se/english/IDN_campaignsite.shtml?lang=en
      * (.SH) Saint Helena http://www.nic.sh/SH-IDN-Policy.pdf
@@ -282,6 +283,7 @@ class Zend_Validate_Hostname extends Zend_Validate_Abstract
             33=> '/^[\x{002d}0-9א-ת]{1,63}$/iu'),
         'PR'  => array(1 => '/^[\x{002d}0-9a-záéíóúñäëïüöâêîôûàèùæçœãõ]{1,63}$/iu'),
         'PT'  => array(1 => '/^[\x{002d}0-9a-záàâãçéêíóôõú]{1,63}$/iu'),
+        'RS'  => array(1 => '/^[\x{002D}\x{0030}-\x{0039}\x{0061}-\x{007A}\x{0107}\x{010D}\x{0111}\x{0161}\x{017E}]{1,63}$/iu)'),
         'RU'  => array(1 => '/^[\x{002d}0-9а-яё]{1,63}$/iu'),
         'SA'  => array(1 => '/^[\x{002d}.0-9\x{0621}-\x{063A}\x{0641}-\x{064A}\x{0660}-\x{0669}]{1,63}$/iu'),
         'SE'  => array(1 => '/^[\x{002d}0-9a-zäåéöü]{1,63}$/iu'),

+ 12 - 0
tests/Zend/Validate/HostnameTest.php

@@ -486,4 +486,16 @@ class Zend_Validate_HostnameTest extends PHPUnit_Framework_TestCase
         $this->assertTrue($validator->isValid('самобраноч.com.ua'));
         $this->assertTrue($validator->isValid('hostmaster.ua'));
     }
+
+    /**
+     * Test for IDN serbia .rs
+     *
+     * @group GH-115
+     */
+    public function testIDNRS()
+    {
+        $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_ALL);
+
+        $this->assertTrue($validator->isValid('test.rs'));
+    }
 }