Mercurial > hg > rc1
diff vendor/pear/net_idna2/tests/Net_IDNA2Test.php @ 0:1e000243b222
vanilla 1.3.3 distro, I hope
author | Charlie Root |
---|---|
date | Thu, 04 Jan 2018 15:50:29 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/pear/net_idna2/tests/Net_IDNA2Test.php Thu Jan 04 15:50:29 2018 -0500 @@ -0,0 +1,67 @@ +<?php +require_once 'Net/IDNA2.php'; + +class Net_IDNA2Test extends PHPUnit_Framework_TestCase +{ + /** + * Initialise tests + * + * @return void + */ + public function setUp() + { + $this->idn = new Net_IDNA2(); + } + + /** + * Test if a complete URL consisting also of port-number etc. will be decoded just fine, test 1 + * + * @return void + */ + public function testShouldDecodePortNumbersFragmentsAndUrisCorrectly1() + { + $result = $this->idn->decode('http://www.xn--ml-6kctd8d6a.org:8080/test.php?arg1=1&arg2=2#fragment'); + $this->assertSame("http://www.\xD0\xB5\xD1\x85\xD0\xB0m\xD1\x80l\xD0\xB5.org:8080/test.php?arg1=1&arg2=2#fragment", $result); + } + + /** + * Test if a complete URL consisting also of port-number etc. will be decoded just fine, test 2 + * + * @return void + */ + public function testShouldDecodePortNumbersFragmentsAndUrisCorrectly2() + { + $result = $this->idn->decode('http://xn--tst-qla.example.com:8080/test.php?arg1=1&arg2=2#fragment'); + $this->assertSame("http://täst.example.com:8080/test.php?arg1=1&arg2=2#fragment", $result); + } + + /** + * Test encoding of German letter Eszett according to the original standard (IDNA2003) + * + * @return void + */ + public function testEncodingForGermanEszettUsingIDNA2003() + { + // make sure to use 2003-encoding + $this->idn->setParams('version', '2003'); + $result = $this->idn->encode('http://www.straße.example.com/'); + + $this->assertSame("http://www.strasse.example.com/", $result); + } + + /** + * Test encoding of German letter Eszett according to the "new" standard (IDNA2005/IDNAbis) + * + * @return void + */ + public function testEncodingForGermanEszettUsingIDNA2008() + { + // make sure to use 2008-encoding + $this->idn->setParams('version', '2008'); + $result = $this->idn->encode('http://www.straße.example.com/'); + // switch back for other testcases + $this->idn->setParams('version', '2003'); + + $this->assertSame("http://www.xn--strae-oqa.example.com/", $result); + } +}