]> granicus.if.org Git - php/commitdiff
Add additional test coverage for html_entity_decode
authorMatthew Flaschen <matthew@matthew-zenbook>
Wed, 10 Feb 2016 22:52:49 +0000 (17:52 -0500)
committerMatthew Flaschen <matthew@matthew-zenbook>
Wed, 10 Feb 2016 22:52:49 +0000 (17:52 -0500)
Will help testing a HHVM fix (https://reviews.facebook.net/D53871)

ext/standard/tests/strings/bug53021.phpt
ext/standard/tests/strings/html_entity_decode3.phpt

index 4a8fbe4f760556b74adda41f952099e44fc8c74c..38d904761d0b230c2f8641a409166efacde8b523 100644 (file)
@@ -10,11 +10,14 @@ echo html_entity_decode("&quot;", ENT_QUOTES, 'UTF-8'), "\n";
 echo html_entity_decode("&#34;", ENT_QUOTES, 'UTF-8'), "\n";\r
 echo html_entity_decode("&quot;", ENT_COMPAT, 'UTF-8'), "\n";\r
 echo html_entity_decode("&#34;", ENT_COMPAT, 'UTF-8'), "\n";\r
+echo html_entity_decode("&quot;"), "\n";\r
+echo html_entity_decode("&#34;"), "\n";\r
 \r
 echo "\nsingle quotes variations:", "\n";\r
 echo html_entity_decode("&#39;", ENT_NOQUOTES, 'UTF-8'), "\n";\r
 echo html_entity_decode("&#39;", ENT_QUOTES, 'UTF-8'), "\n";\r
 echo html_entity_decode("&#39;", ENT_COMPAT, 'UTF-8'), "\n";\r
+echo html_entity_decode("&#39;"), "\n";\r
 --EXPECT--\r
 array(1) {\r
   [1]=>\r
@@ -27,8 +30,11 @@ double quotes variations:
 "\r
 "\r
 "\r
+"\r
+"\r
 \r
 single quotes variations:\r
 &#39;\r
 '\r
 &#39;\r
+&#39;\r
index fcf2710679adbbdb767ad14f443f36fbc079d7ef..48cff17bda02708d8e691545a54fb6dee681411a 100644 (file)
@@ -14,6 +14,7 @@ $tests = array(
     "&#x0E;",
     "&#x1F;",
     "&#x20;", //allowed always
+    "&#x27;", //single quote, depends on flags
     "&#x7F;", //DEL
     "&#x80;", //C1
     "&#x9F;",
@@ -76,6 +77,17 @@ foreach ($tests as $t) {
     }
 }
 
+echo "\n*** Default options ***\n";
+
+foreach ($tests as $t) {
+    $dec = html_entity_decode($t);
+    if ($t == $dec) {
+        echo "$t\tNOT DECODED\n";
+    } else {
+        echo "$t\tDECODED\n";
+    }
+}
+
 echo "\nDone.\n";
 --EXPECT--
 *** HTML 4.01  ***
@@ -89,6 +101,7 @@ echo "\nDone.\n";
 &#x0E; NOT DECODED
 &#x1F; NOT DECODED
 &#x20; DECODED
+&#x27; DECODED
 &#x7F; NOT DECODED
 &#x80; NOT DECODED
 &#x9F; NOT DECODED
@@ -117,6 +130,7 @@ echo "\nDone.\n";
 &#x0E; NOT DECODED
 &#x1F; NOT DECODED
 &#x20; DECODED
+&#x27; DECODED
 &#x7F; DECODED
 &#x80; DECODED
 &#x9F; DECODED
@@ -145,6 +159,7 @@ echo "\nDone.\n";
 &#x0E; NOT DECODED
 &#x1F; NOT DECODED
 &#x20; DECODED
+&#x27; DECODED
 &#x7F; NOT DECODED
 &#x80; NOT DECODED
 &#x9F; NOT DECODED
@@ -173,6 +188,7 @@ echo "\nDone.\n";
 &#x0E; NOT DECODED
 &#x1F; NOT DECODED
 &#x20; DECODED
+&#x27; DECODED
 &#x7F; DECODED
 &#x80; DECODED
 &#x9F; DECODED
@@ -190,4 +206,33 @@ echo "\nDone.\n";
 &#x2FFFE;      DECODED
 &#x2FFFF;      DECODED
 
+*** Default options ***
+&#0;   NOT DECODED
+&#1;   NOT DECODED
+&#x09; DECODED
+&#x0A; DECODED
+&#x0B; NOT DECODED
+&#x0C; NOT DECODED
+&#x0D; DECODED
+&#x0E; NOT DECODED
+&#x1F; NOT DECODED
+&#x20; DECODED
+&#x27; NOT DECODED
+&#x7F; NOT DECODED
+&#x80; NOT DECODED
+&#x9F; NOT DECODED
+&#xA0; DECODED
+&#xD7FF;       DECODED
+&#xD800;       NOT DECODED
+&#xDFFF;       NOT DECODED
+&#xE000;       DECODED
+&#xFFFE;       DECODED
+&#xFFFF;       DECODED
+&#xFDCF;       DECODED
+&#xFDD0;       DECODED
+&#xFDEF;       DECODED
+&#xFDF0;       DECODED
+&#x2FFFE;      DECODED
+&#x2FFFF;      DECODED
+
 Done.