Mercurial > hg > rc1
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1e000243b222 |
---|---|
1 <?php | |
2 require_once 'Net/IDNA2.php'; | |
3 | |
4 class Net_IDNA2Test extends PHPUnit_Framework_TestCase | |
5 { | |
6 /** | |
7 * Initialise tests | |
8 * | |
9 * @return void | |
10 */ | |
11 public function setUp() | |
12 { | |
13 $this->idn = new Net_IDNA2(); | |
14 } | |
15 | |
16 /** | |
17 * Test if a complete URL consisting also of port-number etc. will be decoded just fine, test 1 | |
18 * | |
19 * @return void | |
20 */ | |
21 public function testShouldDecodePortNumbersFragmentsAndUrisCorrectly1() | |
22 { | |
23 $result = $this->idn->decode('http://www.xn--ml-6kctd8d6a.org:8080/test.php?arg1=1&arg2=2#fragment'); | |
24 $this->assertSame("http://www.\xD0\xB5\xD1\x85\xD0\xB0m\xD1\x80l\xD0\xB5.org:8080/test.php?arg1=1&arg2=2#fragment", $result); | |
25 } | |
26 | |
27 /** | |
28 * Test if a complete URL consisting also of port-number etc. will be decoded just fine, test 2 | |
29 * | |
30 * @return void | |
31 */ | |
32 public function testShouldDecodePortNumbersFragmentsAndUrisCorrectly2() | |
33 { | |
34 $result = $this->idn->decode('http://xn--tst-qla.example.com:8080/test.php?arg1=1&arg2=2#fragment'); | |
35 $this->assertSame("http://täst.example.com:8080/test.php?arg1=1&arg2=2#fragment", $result); | |
36 } | |
37 | |
38 /** | |
39 * Test encoding of German letter Eszett according to the original standard (IDNA2003) | |
40 * | |
41 * @return void | |
42 */ | |
43 public function testEncodingForGermanEszettUsingIDNA2003() | |
44 { | |
45 // make sure to use 2003-encoding | |
46 $this->idn->setParams('version', '2003'); | |
47 $result = $this->idn->encode('http://www.straße.example.com/'); | |
48 | |
49 $this->assertSame("http://www.strasse.example.com/", $result); | |
50 } | |
51 | |
52 /** | |
53 * Test encoding of German letter Eszett according to the "new" standard (IDNA2005/IDNAbis) | |
54 * | |
55 * @return void | |
56 */ | |
57 public function testEncodingForGermanEszettUsingIDNA2008() | |
58 { | |
59 // make sure to use 2008-encoding | |
60 $this->idn->setParams('version', '2008'); | |
61 $result = $this->idn->encode('http://www.straße.example.com/'); | |
62 // switch back for other testcases | |
63 $this->idn->setParams('version', '2003'); | |
64 | |
65 $this->assertSame("http://www.xn--strae-oqa.example.com/", $result); | |
66 } | |
67 } |