2017-01-20 00:20:31 +00:00
|
|
|
// © 2016 and later: Unicode, Inc. and others.
|
2016-06-15 18:58:17 +00:00
|
|
|
// License & terms of use: http://www.unicode.org/copyright.html
|
2003-02-26 23:22:03 +00:00
|
|
|
/********************************************************************
|
2016-05-31 21:45:07 +00:00
|
|
|
* Copyright (c) 1997-2016, International Business Machines Corporation and
|
|
|
|
* others. All Rights Reserved.
|
2003-02-26 23:22:03 +00:00
|
|
|
********************************************************************/
|
|
|
|
|
|
|
|
#include "unicode/uniset.h"
|
|
|
|
#include "intltest.h"
|
|
|
|
|
|
|
|
/** Helper function for TestUnicodeData */
|
2004-03-29 21:58:57 +00:00
|
|
|
U_CFUNC void U_CALLCONV unicodeDataLineFn(void *context,
|
2003-02-26 23:22:03 +00:00
|
|
|
char *fields[][2], int32_t fieldCount,
|
|
|
|
UErrorCode *pErrorCode);
|
|
|
|
|
2004-03-29 21:58:57 +00:00
|
|
|
U_CFUNC void U_CALLCONV
|
2010-01-06 23:50:03 +00:00
|
|
|
derivedPropsLineFn(void *context,
|
|
|
|
char *fields[][2], int32_t fieldCount,
|
|
|
|
UErrorCode *pErrorCode);
|
2003-02-26 23:22:03 +00:00
|
|
|
|
2009-11-13 19:25:21 +00:00
|
|
|
U_NAMESPACE_BEGIN
|
|
|
|
|
|
|
|
class Hashtable;
|
|
|
|
|
|
|
|
U_NAMESPACE_END
|
|
|
|
|
2003-02-26 23:22:03 +00:00
|
|
|
/**
|
|
|
|
* Test API and functionality of class Unicode
|
|
|
|
**/
|
|
|
|
class UnicodeTest: public IntlTest {
|
|
|
|
public:
|
|
|
|
UnicodeTest();
|
|
|
|
virtual ~UnicodeTest();
|
|
|
|
|
|
|
|
void runIndexedTest( int32_t index, UBool exec, const char* &name, char* par = NULL );
|
|
|
|
|
|
|
|
void TestAdditionalProperties();
|
2008-04-04 22:47:43 +00:00
|
|
|
void TestBinaryValues();
|
2010-06-01 06:10:26 +00:00
|
|
|
void TestConsistency();
|
2011-04-25 20:47:32 +00:00
|
|
|
void TestPatternProperties();
|
2013-02-17 00:49:18 +00:00
|
|
|
void TestScriptMetadata();
|
2013-05-15 21:51:04 +00:00
|
|
|
void TestBidiPairedBracketType();
|
2016-01-21 04:39:21 +00:00
|
|
|
void TestEmojiProperties();
|
2003-02-26 23:22:03 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
friend void U_CALLCONV unicodeDataLineFn(void *context,
|
|
|
|
char *fields[][2], int32_t fieldCount,
|
|
|
|
UErrorCode *pErrorCode);
|
|
|
|
|
|
|
|
friend void U_CALLCONV
|
2010-01-06 23:50:03 +00:00
|
|
|
derivedPropsLineFn(void *context,
|
2003-02-26 23:22:03 +00:00
|
|
|
char *fields[][2], int32_t fieldCount,
|
|
|
|
UErrorCode *pErrorCode);
|
|
|
|
|
2010-01-06 23:50:03 +00:00
|
|
|
UnicodeSet derivedProps[30];
|
2009-11-13 19:25:21 +00:00
|
|
|
U_NAMESPACE_QUALIFIER Hashtable *unknownPropertyNames;
|
2003-02-26 23:22:03 +00:00
|
|
|
|
2011-04-25 20:47:32 +00:00
|
|
|
UBool compareUSets(const UnicodeSet &a, const UnicodeSet &b,
|
|
|
|
const char *a_name, const char *b_name,
|
|
|
|
UBool diffIsError);
|
|
|
|
};
|