/*
**********************************************************************
-* Copyright (C) 2002-2010, International Business Machines
+* Copyright (C) 2002-2016, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* file name: iotest.cpp
#include "unicode/ucnv.h"
#include "unicode/ustring.h"
#include "ustr_cnv.h"
+#include "cmemory.h"
#include "iotest.h"
#if U_IOSTREAM_SOURCE >= 199711
#include <fstream>
#include <iomanip>
using namespace std;
-#elif U_IOSTREAM_SOURCE >= 198506
-#define USE_OLD_IOSTREAM 1
-#include <strstream.h>
-#include <fstream.h>
-#endif
#include <string.h>
U_CDECL_BEGIN
-#ifdef U_WINDOWS
+#if U_PLATFORM_USES_ONLY_WIN32_API
const UChar NEW_LINE[] = {0x0d,0x0a,0};
const char C_NEW_LINE[] = {0x0d,0x0a,0};
#define UTF8_NEW_LINE "\x0d\x0a"
#endif
U_CDECL_END
-#if U_IOSTREAM_SOURCE
U_CDECL_BEGIN
static void U_CALLCONV TestStream(void)
{
-#if U_IOSTREAM_SOURCE >= 198506
const UChar thisMu[] = { 0x74, 0x48, 0x69, 0x73, 0x3BC, 0};
const UChar mu[] = { 0x6D, 0x75, 0};
UnicodeString str1 = UNICODE_STRING_SIMPLE("str1");
return;
}
ucnv_close(defConv);
- strncpy(defConvName, ucnv_getDefaultName(), sizeof(defConvName)/sizeof(defConvName[0]));
+ strncpy(defConvName, ucnv_getDefaultName(), UPRV_LENGTHOF(defConvName));
ucnv_setDefaultName("UTF-8");
static const char * const TESTSTRING = "\x20\x74\x48\x69\x73\xCE\xBC\xE2\x80\x82\x20\x6D\x75\x20\x77\x6F\x72\x6C\x64";
ostrstream outLargeStream(testLargeStreamBuf, sizeof(testLargeStreamBuf));
#endif
UChar large_array[200];
- int32_t large_array_length = sizeof(large_array)/sizeof(UChar);
+ int32_t large_array_length = UPRV_LENGTHOF(large_array);
for (int32_t i = 0; i < large_array_length; i++) {
large_array[i] = 0x41;
}
log_err("Error converting string for large stream buffer testing.\n");
}
ucnv_close(defConv);
-#else
- log_info("U_IOSTREAM_SOURCE is disabled\n");
-#endif
}
#define IOSTREAM_GOOD_SHIFT 3
if (getBitStatus(sstrm) != expectedStatus) {
printBits(sstrm);
-#ifdef USE_OLD_IOSTREAM
- log_info("Warning. Expected status %d, Got %d. This maybe caused by the fact that the non-standardized iostream is being used.\n", expectedStatus, getBitStatus(sstrm));
- log_info("See verbose output for details.\n");
-#else
log_err("Expected status %d, Got %d. See verbose output for details\n", expectedStatus, getBitStatus(sstrm));
-#endif
}
if (str != UnicodeString(expectedString)) {
log_err("Did not get expected results from \"%s\", expected \"%s\"\n", testString, expectedString);
strstream ss;
#endif
-#ifdef USE_OLD_IOSTREAM
- log_info("Old non-standardized iostream being used. This may result in inconsistent state flag settings. (e.g. failbit may not be set properly)\n");
- log_info("In such a case, warnings will be issued instead of errors.\n");
-#endif
-
fs << "EXAMPLE";
fs.seekg(0);
ss << "EXAMPLE";