Make items in the StringUtilsTest data provider easier to identify by adding names.
authorJan Zerebecki <jan.wikimedia@zerebecki.de>
Thu, 23 May 2013 09:37:32 +0000 (11:37 +0200)
committerJan Zerebecki <jan.wikimedia@zerebecki.de>
Wed, 9 Oct 2013 15:06:01 +0000 (17:06 +0200)
Change-Id: I026eff69236187ce3d2ff2fc261a5e1d9cd88b24

tests/phpunit/includes/StringUtilsTest.php

index 94ba3a7..b222812 100644 (file)
@@ -3,7 +3,7 @@
 class StringUtilsTest extends MediaWikiTestCase {
 
        /**
-        * This test StringUtils::isUtf8 whenever we have mbstring extension
+        * This tests StringUtils::isUtf8 whenever we have the mbstring extension
         * loaded.
         *
         * @covers StringUtils::isUtf8
@@ -20,7 +20,7 @@ class StringUtilsTest extends MediaWikiTestCase {
        }
 
        /**
-        * This test StringUtils::isUtf8 making sure we use the pure PHP
+        * This tests StringUtils::isUtf8 making sure we use the pure PHP
         * implementation used as a fallback when mb_check_encoding() is
         * not available.
         *
@@ -64,95 +64,84 @@ class StringUtilsTest extends MediaWikiTestCase {
                $FAIL = false;
 
                return array(
-                       array( $PASS, 'Some ASCII' ),
-                       array( $PASS, "Euro sign €" ),
-
-                       // First possible sequences
-                       array( $PASS, "\x00" ),
-                       array( $PASS, "\xc2\x80" ),
-                       array( $PASS, "\xe0\xa0\x80" ),
-                       array( $PASS, "\xf0\x90\x80\x80" ),
-                       array( $FAIL, "\xf8\x88\x80\x80\x80" ),
-                       array( $FAIL, "\xfc\x84\x80\x80\x80\x80" ),
-
-                       // Last possible sequence
-                       array( $PASS, "\x7f" ),
-                       array( $PASS, "\xdf\xbf" ),
-                       array( $PASS, "\xef\xbf\xbf" ),
-                       array( $FAIL, "\xf7\xbf\xbf\xbf" ), // U+1FFFFF
-                       array( $FAIL, "\xfb\xbf\xbf\xbf\xbf" ),
-                       array( $FAIL, "\xfd\xbf\xbf\xbf\xbf\xbf" ),
-
-                       // Boundaries
-                       array( $PASS, "\xed\x9f\xbf" ),
-                       array( $PASS, "\xee\x80\x80" ),
-                       array( $PASS, "\xef\xbf\xbd" ),
-                       array( $PASS, "\xf2\x80\x80\x80" ),
-                       array( $PASS, "\xf3\xbf\xbf\xbf" ), // U+FFFFF
-                       array( $PASS, "\xf4\x80\x80\x80" ), // U+100000
-                       array( $PASS, "\xf4\x8f\xbf\xbf" ), // U+10FFFF
-                       array( $FAIL, "\xf4\x90\x80\x80" ), // U+110000
-
-                       // Malformed
-                       array( $FAIL, "\x80" ),
-                       array( $FAIL, "\xbf" ),
-                       array( $FAIL, "\x80\xbf" ),
-                       array( $FAIL, "\x80\xbf\x80" ),
-                       array( $FAIL, "\x80\xbf\x80\xbf" ),
-                       array( $FAIL, "\x80\xbf\x80\xbf\x80" ),
-                       array( $FAIL, "\x80\xbf\x80\xbf\x80\xbf" ),
-                       array( $FAIL, "\x80\xbf\x80\xbf\x80\xbf\x80" ),
-
-                       // Last byte missing
-                       array( $FAIL, "\xc0" ),
-                       array( $FAIL, "\xe0\x80" ),
-                       array( $FAIL, "\xf0\x80\x80" ),
-                       array( $FAIL, "\xf8\x80\x80\x80" ),
-                       array( $FAIL, "\xfc\x80\x80\x80\x80" ),
-                       array( $FAIL, "\xdf" ),
-                       array( $FAIL, "\xef\xbf" ),
-                       array( $FAIL, "\xf7\xbf\xbf" ),
-                       array( $FAIL, "\xfb\xbf\xbf\xbf" ),
-                       array( $FAIL, "\xfd\xbf\xbf\xbf\xbf" ),
-
-                       // Extra continuation byte
-                       array( $FAIL, "e\xaf" ),
-                       array( $FAIL, "\xc3\x89\xaf" ),
-                       array( $FAIL, "\xef\xbc\xa5\xaf" ),
-                       array( $FAIL, "\xf0\x9d\x99\xb4\xaf" ),
-
-                       // Impossible bytes
-                       array( $FAIL, "\xfe" ),
-                       array( $FAIL, "\xff" ),
-                       array( $FAIL, "\xfe\xfe\xff\xff" ),
-
-                       // Overlong sequences
-                       array( $FAIL, "\xc0\xaf" ),
-                       array( $FAIL, "\xc1\xaf" ),
-                       array( $FAIL, "\xe0\x80\xaf" ),
-                       array( $FAIL, "\xf0\x80\x80\xaf" ),
-                       array( $FAIL, "\xf8\x80\x80\x80\xaf" ),
-                       array( $FAIL, "\xfc\x80\x80\x80\x80\xaf" ),
-
-                       // Maximum overlong sequences
-                       array( $FAIL, "\xc1\xbf" ),
-                       array( $FAIL, "\xe0\x9f\xbf" ),
-                       array( $FAIL, "\xf0\x8f\xbf\xbf" ),
-                       array( $FAIL, "\xf8\x87\xbf\xbf" ),
-                       array( $FAIL, "\xfc\x83\xbf\xbf\xbf\xbf" ),
-
-                       // Surrogates
-                       array( $PASS, "\xed\x9f\xbf" ), // U+D799
-                       array( $PASS, "\xee\x80\x80" ), // U+E000
-                       array( $FAIL, "\xed\xa0\x80" ), // U+D800
-                       array( $FAIL, "\xed\xaf\xbf" ), // U+DBFF
-                       array( $FAIL, "\xed\xb0\x80" ), // U+DC00
-                       array( $FAIL, "\xed\xbf\xbf" ), // U+DFFF
-                       array( $FAIL, "\xed\xa0\x80\xed\xb0\x80" ), // U+D800 U+DC00
-
-                       // Noncharacters
-                       array( $PASS, "\xef\xbf\xbe" ),
-                       array( $PASS, "\xef\xbf\xbf" ),
+                       'some ASCII' => array( $PASS, 'Some ASCII' ),
+                       'euro sign' => array( $PASS, "Euro sign €" ),
+
+                       'first possible sequence 1 byte' => array( $PASS, "\x00" ),
+                       'first possible sequence 2 bytes' => array( $PASS, "\xc2\x80" ),
+                       'first possible sequence 3 bytes' => array( $PASS, "\xe0\xa0\x80" ),
+                       'first possible sequence 4 bytes' => array( $PASS, "\xf0\x90\x80\x80" ),
+                       'first possible sequence 5 bytes' => array( $FAIL, "\xf8\x88\x80\x80\x80" ),
+                       'first possible sequence 6 bytes' => array( $FAIL, "\xfc\x84\x80\x80\x80\x80" ),
+
+                       'last possible sequence 1 byte' => array( $PASS, "\x7f" ),
+                       'last possible sequence 2 bytes' => array( $PASS, "\xdf\xbf" ),
+                       'last possible sequence 3 bytes' => array( $PASS, "\xef\xbf\xbf" ),
+                       'last possible sequence 4 bytes (U+1FFFFF)' => array( $FAIL, "\xf7\xbf\xbf\xbf" ),
+                       'last possible sequence 5 bytes' => array( $FAIL, "\xfb\xbf\xbf\xbf\xbf" ),
+                       'last possible sequence 6 bytes' => array( $FAIL, "\xfd\xbf\xbf\xbf\xbf\xbf" ),
+
+                       'boundary 1' => array( $PASS, "\xed\x9f\xbf" ),
+                       'boundary 2' => array( $PASS, "\xee\x80\x80" ),
+                       'boundary 3' => array( $PASS, "\xef\xbf\xbd" ),
+                       'boundary 4' => array( $PASS, "\xf2\x80\x80\x80" ),
+                       'boundary 5 (U+FFFFF)' => array( $PASS, "\xf3\xbf\xbf\xbf" ),
+                       'boundary 6 (U+100000)' => array( $PASS, "\xf4\x80\x80\x80" ),
+                       'boundary 7 (U+10FFFF)' => array( $PASS, "\xf4\x8f\xbf\xbf" ),
+                       'boundary 8 (U+110000)' => array( $FAIL, "\xf4\x90\x80\x80" ),
+
+                       'malformed 1' => array( $FAIL, "\x80" ),
+                       'malformed 2' => array( $FAIL, "\xbf" ),
+                       'malformed 3' => array( $FAIL, "\x80\xbf" ),
+                       'malformed 4' => array( $FAIL, "\x80\xbf\x80" ),
+                       'malformed 5' => array( $FAIL, "\x80\xbf\x80\xbf" ),
+                       'malformed 6' => array( $FAIL, "\x80\xbf\x80\xbf\x80" ),
+                       'malformed 7' => array( $FAIL, "\x80\xbf\x80\xbf\x80\xbf" ),
+                       'malformed 8' => array( $FAIL, "\x80\xbf\x80\xbf\x80\xbf\x80" ),
+
+                       'last byte missing 1' => array( $FAIL, "\xc0" ),
+                       'last byte missing 2' => array( $FAIL, "\xe0\x80" ),
+                       'last byte missing 3' => array( $FAIL, "\xf0\x80\x80" ),
+                       'last byte missing 4' => array( $FAIL, "\xf8\x80\x80\x80" ),
+                       'last byte missing 5' => array( $FAIL, "\xfc\x80\x80\x80\x80" ),
+                       'last byte missing 6' => array( $FAIL, "\xdf" ),
+                       'last byte missing 7' => array( $FAIL, "\xef\xbf" ),
+                       'last byte missing 8' => array( $FAIL, "\xf7\xbf\xbf" ),
+                       'last byte missing 9' => array( $FAIL, "\xfb\xbf\xbf\xbf" ),
+                       'last byte missing 10' => array( $FAIL, "\xfd\xbf\xbf\xbf\xbf" ),
+
+                       'extra continuation byte 1' => array( $FAIL, "e\xaf" ),
+                       'extra continuation byte 2' => array( $FAIL, "\xc3\x89\xaf" ),
+                       'extra continuation byte 3' => array( $FAIL, "\xef\xbc\xa5\xaf" ),
+                       'extra continuation byte 4' => array( $FAIL, "\xf0\x9d\x99\xb4\xaf" ),
+
+                       'impossible bytes 1' => array( $FAIL, "\xfe" ),
+                       'impossible bytes 2' => array( $FAIL, "\xff" ),
+                       'impossible bytes 3' => array( $FAIL, "\xfe\xfe\xff\xff" ),
+
+                       'overlong sequences 1' => array( $FAIL, "\xc0\xaf" ),
+                       'overlong sequences 2' => array( $FAIL, "\xc1\xaf" ),
+                       'overlong sequences 3' => array( $FAIL, "\xe0\x80\xaf" ),
+                       'overlong sequences 4' => array( $FAIL, "\xf0\x80\x80\xaf" ),
+                       'overlong sequences 5' => array( $FAIL, "\xf8\x80\x80\x80\xaf" ),
+                       'overlong sequences 6' => array( $FAIL, "\xfc\x80\x80\x80\x80\xaf" ),
+
+                       'maximum overlong sequences 1' => array( $FAIL, "\xc1\xbf" ),
+                       'maximum overlong sequences 2' => array( $FAIL, "\xe0\x9f\xbf" ),
+                       'maximum overlong sequences 3' => array( $FAIL, "\xf0\x8f\xbf\xbf" ),
+                       'maximum overlong sequences 4' => array( $FAIL, "\xf8\x87\xbf\xbf" ),
+                       'maximum overlong sequences 5' => array( $FAIL, "\xfc\x83\xbf\xbf\xbf\xbf" ),
+
+                       'surrogates 1 (U+D799)' => array( $PASS, "\xed\x9f\xbf" ),
+                       'surrogates 2 (U+E000)' => array( $PASS, "\xee\x80\x80" ),
+                       'surrogates 3 (U+D800)' => array( $FAIL, "\xed\xa0\x80" ),
+                       'surrogates 4 (U+DBFF)' => array( $FAIL, "\xed\xaf\xbf" ),
+                       'surrogates 5 (U+DC00)' => array( $FAIL, "\xed\xb0\x80" ),
+                       'surrogates 6 (U+DFFF)' => array( $FAIL, "\xed\xbf\xbf" ),
+                       'surrogates 7 (U+D800 U+DC00)' => array( $FAIL, "\xed\xa0\x80\xed\xb0\x80" ),
+
+                       'noncharacters 1' => array( $PASS, "\xef\xbf\xbe" ),
+                       'noncharacters 2' => array( $PASS, "\xef\xbf\xbf" ),
                );
        }
 }