public function testJsStringDefault() { $this->assertEquals("''", Reform::JsString(null, null), "Null for both parameters"); // Usual stuff $this->assertEquals("'default'", Reform::JsString(null, "default"), "Checking default"); // Non encoded characters $this->assertEquals("'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.'", Reform::JsString(null, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,."), "Non encoding chars via default"); // Usual suspects $this->assertEquals("'\\x3C\\x3E\\x26\\x22\\x5C\\x27'", Reform::JsString(null, "<>&\"\\'"), "Usual suspects via default"); // Other characters $this->assertEquals("'\\x60\\x7E\\x21\\x40\\x23\\x24\\x25\\x5E\\x26\\x2A\\x28\\x29\\x5F\\x2B\\x3D\\x2D\\x7B\\x7D\\x7C\\x5C\\x5D\\x5B\\x3A\\x3B\\x27\\x2F\\x3F\\x3E\\x3C'", Reform::JsString(null, "`~!@#\$%^&*()_+=-{}|\\][:;'/?><"), "Punctuation via default"); // Unicode characters $toEncode = ""; $encodedStr = ""; $encodedStr .= '\''; for ($i = 128; $i < 6000; $i++) { $toEncode .= ReformTests::unichr($i); $encodedStr .= sprintf("\\u%04X", $i); } $encodedStr .= '\''; $this->assertEquals($encodedStr, Reform::JsString(null, $toEncode), "Unicode characters to 6000 via default"); // The following are sanity checks // Non encoded characters $this->assertEquals("'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.'", Reform::JsString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0987654321 ,.", "default"), "Non encoding chars"); // Usual suspects $this->assertEquals("'\\x3C\\x3E\\x26\\x22\\x5C\\x27'", Reform::JsString("<>&\"\\'", "default"), "Usual suspects"); // Other characters $this->assertEquals("'\\x60\\x7E\\x21\\x40\\x23\\x24\\x25\\x5E\\x26\\x2A\\x28\\x29\\x5F\\x2B\\x3D\\x2D\\x7B\\x7D\\x7C\\x5C\\x5D\\x5B\\x3A\\x3B\\x27\\x2F\\x3F\\x3E\\x3C'", Reform::JsString("`~!@#\$%^&*()_+=-{}|\\][:;'/?><", "default"), "Punctuation"); // Unicode characters $toEncode = ""; $encodedStr = ""; $encodedStr .= '\''; for ($i = 128; $i < 6000; $i++) { $toEncode .= ReformTests::unichr($i); $encodedStr .= sprintf("\\u%04X", $i); } $encodedStr .= '\''; $this->assertEquals($encodedStr, Reform::JsString($toEncode, "default"), "Unicode characters to 6000"); }