Example #1
0
 public function testXmlAttributeEncodeDefault()
 {
     $this->assertEquals("", Reform::XmlAttributeEncode(null, null), "Null for both parameters");
     // Usual stuff
     $this->assertEquals("default", Reform::XmlAttributeEncode(null, "default"), "Checking default");
     // Non encoded characters
     $this->assertEquals("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", Reform::XmlAttributeEncode(null, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321"), "Non encoding chars via default");
     // Usual suspects
     $this->assertEquals("&#60;&#62;&#38;&#34;", Reform::XmlAttributeEncode(null, "<>&\""), "Usual suspects via default");
     // Other characters
     $this->assertEquals("&#32;&#44;&#46;&#96;&#126;&#33;&#64;&#35;&#36;&#37;&#94;&#38;&#42;&#40;&#41;&#95;&#43;&#61;&#45;&#123;&#125;&#124;&#92;&#93;&#91;&#58;&#59;&#39;&#47;&#63;&#62;&#60;", Reform::XmlAttributeEncode(null, " ,.`~!@#\$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation via default");
     // Unicode characters
     $toEncode = "";
     $encodedStr = "";
     for ($i = 127; $i < 6000; $i++) {
         $toEncode .= ReformTests::unichr($i);
         $encodedStr .= "&#{$i};";
     }
     $this->assertEquals($encodedStr, Reform::XmlAttributeEncode(null, $toEncode), "Unicode characters to 6000 via default");
     // The following are sanity checks
     // Non encoded characters
     $this->assertEquals("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", Reform::XmlAttributeEncode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", "default"), "Non encoding chars");
     // Usual suspects
     $this->assertEquals("&#60;&#62;&#38;&#34;", Reform::XmlAttributeEncode("<>&\"", "default"), "Usual suspects");
     // Other characters
     $this->assertEquals("&#32;&#44;&#46;&#96;&#126;&#33;&#64;&#35;&#36;&#37;&#94;&#38;&#42;&#40;&#41;&#95;&#43;&#61;&#45;&#123;&#125;&#124;&#92;&#93;&#91;&#58;&#59;&#39;&#47;&#63;&#62;&#60;", Reform::XmlAttributeEncode(" ,.`~!@#\$%^&*()_+=-{}|\\][:;'/?><", "default"), "Punctuation");
     // Unicode characters
     $toEncode = "";
     $encodedStr = "";
     for ($i = 127; $i < 6000; $i++) {
         $toEncode .= ReformTests::unichr($i);
         $encodedStr .= "&#{$i};";
     }
     $this->assertEquals($encodedStr, Reform::XmlAttributeEncode($toEncode, "default"), "Unicode characters to 6000");
 }