| Index: icu46/source/test/intltest/testutil.cpp
|
| ===================================================================
|
| --- icu46/source/test/intltest/testutil.cpp (revision 0)
|
| +++ icu46/source/test/intltest/testutil.cpp (revision 0)
|
| @@ -0,0 +1,61 @@
|
| +/*
|
| +**********************************************************************
|
| +* Copyright (C) 2001-2009, International Business Machines
|
| +* Corporation and others. All Rights Reserved.
|
| +**********************************************************************
|
| +* Date Name Description
|
| +* 05/23/00 aliu Creation.
|
| +**********************************************************************
|
| +*/
|
| +
|
| +#include "unicode/unistr.h"
|
| +#include "testutil.h"
|
| +
|
| +static const UChar HEX[16]={48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70};
|
| +
|
| +UnicodeString &TestUtility::appendHex(UnicodeString &buf, UChar32 ch) {
|
| + if (ch >= 0x10000) {
|
| + if (ch >= 0x100000) {
|
| + buf.append(HEX[0xF&(ch>>20)]);
|
| + }
|
| + buf.append(HEX[0xF&(ch>>16)]);
|
| + }
|
| + buf.append(HEX[0xF&(ch>>12)]);
|
| + buf.append(HEX[0xF&(ch>>8)]);
|
| + buf.append(HEX[0xF&(ch>>4)]);
|
| + buf.append(HEX[0xF&ch]);
|
| + return buf;
|
| +}
|
| +
|
| +UnicodeString TestUtility::hex(UChar32 ch) {
|
| + UnicodeString buf;
|
| + appendHex(buf, ch);
|
| + return buf;
|
| +}
|
| +
|
| +UnicodeString TestUtility::hex(const UnicodeString& s) {
|
| + return hex(s, 44 /*,*/);
|
| +}
|
| +
|
| +UnicodeString TestUtility::hex(const UnicodeString& s, UChar sep) {
|
| + UnicodeString result;
|
| + if (s.isEmpty()) return result;
|
| + UChar32 c;
|
| + for (int32_t i = 0; i < s.length(); i += U16_LENGTH(c)) {
|
| + c = s.char32At(i);
|
| + if (i > 0) {
|
| + result.append(sep);
|
| + }
|
| + appendHex(result, c);
|
| + }
|
| + return result;
|
| +}
|
| +
|
| +UnicodeString TestUtility::hex(const uint8_t* bytes, int32_t len) {
|
| + UnicodeString buf;
|
| + for (int32_t i = 0; i < len; ++i) {
|
| + buf.append(HEX[0x0F & (bytes[i] >> 4)]);
|
| + buf.append(HEX[0x0F & bytes[i]]);
|
| + }
|
| + return buf;
|
| +}
|
|
|
| Property changes on: icu46/source/test/intltest/testutil.cpp
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|