]> granicus.if.org Git - taglib/commitdiff
Fix and add some test cases for invalid surrogate pairs.
authorTsuda Kageyu <tsuda.kageyu@gmail.com>
Tue, 31 Jan 2017 05:19:30 +0000 (14:19 +0900)
committerTsuda Kageyu <tsuda.kageyu@gmail.com>
Tue, 31 Jan 2017 05:19:30 +0000 (14:19 +0900)
tests/test_string.cpp

index 1bd29ff5c14abc180f85ff1c5b44163491d3a533..abfbd8d2783a8b228aef6e5e9ee4f8731ab2367a 100644 (file)
@@ -178,9 +178,14 @@ public:
     const String s2(v2, String::UTF8);
     CPPUNIT_ASSERT_EQUAL(s2.data(String::UTF16), v1);
 
-    const ByteVector v3("\xff\xfe\xb7\xdf\xce\x91\x4b\x5c");
-    const String s3(v2, String::UTF16);
-    CPPUNIT_ASSERT(s3.isEmpty());
+    const ByteVector v3("\xfe\xff\xd8\x01\x30\x42");
+    CPPUNIT_ASSERT(String(v3, String::UTF16).data(String::UTF8).isEmpty());
+
+    const ByteVector v4("\xfe\xff\x30\x42\xdc\x01");
+    CPPUNIT_ASSERT(String(v4, String::UTF16).data(String::UTF8).isEmpty());
+
+    const ByteVector v5("\xfe\xff\xdc\x01\xd8\x01");
+    CPPUNIT_ASSERT(String(v5, String::UTF16).data(String::UTF8).isEmpty());
   }
 
   void testAppendStringDetach()