]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fixed test case to support NFD normalization
authorClaybird <claybird.without.wing@gmail.com>
Mon, 4 Nov 2019 07:21:01 +0000 (16:21 +0900)
committerClaybird <claybird.without.wing@gmail.com>
Wed, 6 Nov 2019 11:34:31 +0000 (20:34 +0900)
libarchive/test/test_read_format_lha_filename_utf16.c

index b2729fb1358972655366be254cc4a0bfbfeb9e40..2aa02434cc19ff7da1d238c84fbd131b13466378 100644 (file)
@@ -63,15 +63,30 @@ test_read_format_lha_filename_UTF16_UTF8(const char *refname)
 
        /* Verify regular file. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
+#if defined(__APPLE__)
+       /* NFD normalization */
+       assertEqualString("U\xCC\x88O\xCC\x88A\xCC\x88u\xCC\x88o\xCC\x88a\xCC\x88/"
+           "a\xCC\x88o\xCC\x88u\xCC\x88A\xCC\x88O\xCC\x88U\xCC\x88.txt",
+           archive_entry_pathname(ae));
+#else
+       /* NFC normalization */
        assertEqualString("\xc3\x9c\xc3\x96\xc3\x84\xc3\xbc\xc3\xb6\xc3\xa4/"
            "\xc3\xa4\xc3\xb6\xc3\xbc\xc3\x84\xc3\x96\xc3\x9c.txt",
            archive_entry_pathname(ae));
+#endif
        assertEqualInt(12, archive_entry_size(ae));
 
        /* Verify directory. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
+#if defined(__APPLE__)
+       /* NFD normalization */
+       assertEqualString("U\xCC\x88O\xCC\x88A\xCC\x88u\xCC\x88o\xCC\x88a\xCC\x88/",
+           archive_entry_pathname(ae));
+#else
+       /* NFC normalization */
        assertEqualString("\xc3\x9c\xc3\x96\xc3\x84\xc3\xbc\xc3\xb6\xc3\xa4/",
            archive_entry_pathname(ae));
+#endif
        assertEqualInt(0, archive_entry_size(ae));
 
        /* End of archive. */