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