1 /* 2 * SPDX-License-Identifier: BSD-2-Clause 3 * 4 * Copyright (c) 2023 Aaron Lindros 5 * All rights reserved. 6 */ 7 #include "test.h" 8 9 #ifdef HAVE_LOCALE_H 10 #include <locale.h> 11 #endif 12 13 /* Test I arg - file name encoding */ DEFINE_TEST(test_I)14DEFINE_TEST(test_I) 15 { 16 #if !defined(_WIN32) || defined(__CYGWIN__) 17 const char *reffile = "test_I.zip"; 18 const char *envstr = "env LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 " 19 "LC_CTYPE=en_US.UTF-8"; 20 int r; 21 22 #if HAVE_SETLOCALE 23 if (NULL == setlocale(LC_ALL, "en_US.UTF-8")) { 24 skipping("en_US.UTF-8 locale not available on this system."); 25 return; 26 } 27 #else 28 skipping("setlocale() not available on this system."); 29 #endif 30 31 extract_reference_file(reffile); 32 r = systemf("%s %s -I UTF-8 %s >test.out 2>test.err", envstr, testprog, 33 reffile); 34 assertEqualInt(0, r); 35 assertNonEmptyFile("test.out"); 36 assertEmptyFile("test.err"); 37 38 assertTextFileContents("Hello, World!\n", "Γειά σου Κόσμε.txt"); 39 #else 40 skipping("Windows not supported"); 41 #endif 42 } 43