public function testHtmlAttributeEncodeDefault() { // Usual stuff $this->assertEquals("default", Reform::HtmlAttributeEncode(null, "default"), "Checking default"); // Non encoded characters $this->assertEquals("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", Reform::HtmlAttributeEncode(null, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321"), "Non encoding chars via default"); // Usual suspects $this->assertEquals("<>&"", Reform::HtmlAttributeEncode(null, "<>&\""), "Usual suspects via default"); // Other characters $this->assertEquals(" ,.`~!@#$%^&*()_+=-{}|\][:;'/?><", Reform::HtmlAttributeEncode(null, " ,.`~!@#\$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation via default"); // Unicode characters $toEncode = ""; $encodedStr = ""; for ($i = 127; $i < 6000; $i++) { $toEncode .= ReformTests::unichr($i); $encodedStr .= "&#{$i};"; } $this->assertEquals($encodedStr, Reform::HtmlAttributeEncode(null, $toEncode), "Unicode characters to 6000 via default"); // The following are sanity checks // Non encoded characters $this->assertEquals("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", Reform::HtmlAttributeEncode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321", "default"), "Non encoding chars"); // Usual suspects $this->assertEquals("<>&"", Reform::HtmlAttributeEncode("<>&\"", "default"), "Usual suspects"); // Other characters $this->assertEquals(" ,.`~!@#$%^&*()_+=-{}|\][:;'/?><", Reform::HtmlAttributeEncode(" ,.`~!@#\$%^&*()_+=-{}|\\][:;'/?><", "default"), "Punctuation"); // Unicode characters $toEncode = ""; $encodedStr = ""; for ($i = 127; $i < 6000; $i++) { $toEncode .= ReformTests::unichr($i); $encodedStr .= "&#{$i};"; } $this->assertEquals($encodedStr, Reform::HtmlAttributeEncode($toEncode, "default"), "Unicode characters to 6000"); }