peiyongz 2004/09/13 14:25:12 Modified: c/tests/XSValueTest XSValueTest.cpp Log: DATATYPE_TEST added Revision Changes Path 1.11 +90 -1 xml-xerces/c/tests/XSValueTest/XSValueTest.cpp Index: XSValueTest.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/tests/XSValueTest/XSValueTest.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- XSValueTest.cpp 10 Sep 2004 13:55:00 -0000 1.10 +++ XSValueTest.cpp 13 Sep 2004 21:25:11 -0000 1.11 @@ -17,6 +17,9 @@ /* * $Id$ * $Log$ +* Revision 1.11 2004/09/13 21:25:11 peiyongz +* DATATYPE_TEST added +* * Revision 1.10 2004/09/10 13:55:00 peiyongz * to run on 64 box * @@ -55,6 +58,9 @@ // --------------------------------------------------------------------------- #include "XSValueTest.hpp" +#include <xercesc/validators/schema/SchemaSymbols.hpp> +#include <xercesc/util/XMLUni.hpp> + #if defined(XERCES_NEW_IOSTREAMS) #include <fstream> #else @@ -348,6 +354,37 @@ } #endif +#ifdef _DEBUG +void DATATYPE_TEST( const XMLCh* const dt_String + , const XSValue::DataType expDataType + ) +{ + XSValue::DataType actDataType = XSValue::getDataType(dt_String); + + if (actDataType != expDataType) + { + char* dt_str = XMLString::transcode(dt_String); + printf("DATATYPE_TEST Fails: data=<%s>, actDataType=<%d>, expDataType=<%d>\n", + dt_str, actDataType, expDataType); + XMLString::release(&dt_str); + errSeen = true; + } +} +#else +#define DATATYPE_TEST(dt_String, expDataType) \ +{ \ + XSValue::DataType actDataType = XSValue::getDataType(dt_String); \ + if (actDataType != expDataType) \ + { \ + char* dt_str = XMLString::transcode(dt_String); \ + printf("DATATYPE_TEST Fails: data=<%s>, actDataType=<%d>, expDataType=<%d>\n", \ + dt_str, actDataType, expDataType); \ + XMLString::release(&dt_str); \ + errSeen = true; \ + } \ +} +#endif + void test_dt_decimal() { const XSValue::DataType dt = XSValue::dt_decimal; @@ -5447,6 +5484,57 @@ } +void test_DataType() +{ + + DATATYPE_TEST( SchemaSymbols::fgDT_STRING, XSValue::dt_string); + DATATYPE_TEST( SchemaSymbols::fgDT_BOOLEAN, XSValue::dt_boolean); + DATATYPE_TEST( SchemaSymbols::fgDT_DECIMAL, XSValue::dt_decimal); + DATATYPE_TEST( SchemaSymbols::fgDT_FLOAT, XSValue::dt_float); + DATATYPE_TEST( SchemaSymbols::fgDT_DOUBLE, XSValue::dt_double); + DATATYPE_TEST( SchemaSymbols::fgDT_DURATION, XSValue::dt_duration); + DATATYPE_TEST( SchemaSymbols::fgDT_DATETIME, XSValue::dt_dateTime); + DATATYPE_TEST( SchemaSymbols::fgDT_TIME, XSValue::dt_time); + DATATYPE_TEST( SchemaSymbols::fgDT_DATE, XSValue::dt_date); + DATATYPE_TEST( SchemaSymbols::fgDT_YEARMONTH, XSValue::dt_gYearMonth); + DATATYPE_TEST( SchemaSymbols::fgDT_YEAR, XSValue::dt_gYear); + DATATYPE_TEST( SchemaSymbols::fgDT_MONTHDAY, XSValue::dt_gMonthDay); + DATATYPE_TEST( SchemaSymbols::fgDT_DAY, XSValue::dt_gDay); + DATATYPE_TEST( SchemaSymbols::fgDT_MONTH, XSValue::dt_gMonth); + DATATYPE_TEST( SchemaSymbols::fgDT_HEXBINARY, XSValue::dt_hexBinary); + DATATYPE_TEST( SchemaSymbols::fgDT_BASE64BINARY, XSValue::dt_base64Binary); + DATATYPE_TEST( SchemaSymbols::fgDT_ANYURI, XSValue::dt_anyURI); + DATATYPE_TEST( SchemaSymbols::fgDT_QNAME, XSValue::dt_QName); + DATATYPE_TEST( XMLUni::fgNotationString, XSValue::dt_NOTATION); + DATATYPE_TEST( SchemaSymbols::fgDT_NORMALIZEDSTRING, XSValue::dt_normalizedString); + DATATYPE_TEST( SchemaSymbols::fgDT_TOKEN, XSValue::dt_token); + DATATYPE_TEST( SchemaSymbols::fgDT_LANGUAGE, XSValue::dt_language); + DATATYPE_TEST( XMLUni::fgNmTokenString, XSValue::dt_NMTOKEN); + DATATYPE_TEST( XMLUni::fgNmTokensString, XSValue::dt_NMTOKENS); + DATATYPE_TEST( SchemaSymbols::fgDT_NAME, XSValue::dt_Name); + DATATYPE_TEST( SchemaSymbols::fgDT_NCNAME, XSValue::dt_NCName); + DATATYPE_TEST( XMLUni::fgIDString, XSValue::dt_ID); + DATATYPE_TEST( XMLUni::fgIDRefString, XSValue::dt_IDREF); + DATATYPE_TEST( XMLUni::fgIDRefsString, XSValue::dt_IDREFS); + DATATYPE_TEST( XMLUni::fgEntityString, XSValue::dt_ENTITY); + DATATYPE_TEST( XMLUni::fgEntitiesString, XSValue::dt_ENTITIES); + DATATYPE_TEST( SchemaSymbols::fgDT_INTEGER, XSValue::dt_integer); + DATATYPE_TEST( SchemaSymbols::fgDT_NONPOSITIVEINTEGER, XSValue::dt_nonPositiveInteger); + DATATYPE_TEST( SchemaSymbols::fgDT_NEGATIVEINTEGER, XSValue::dt_negativeInteger); + DATATYPE_TEST( SchemaSymbols::fgDT_LONG, XSValue::dt_long); + DATATYPE_TEST( SchemaSymbols::fgDT_INT, XSValue::dt_int); + DATATYPE_TEST( SchemaSymbols::fgDT_SHORT, XSValue::dt_short); + DATATYPE_TEST( SchemaSymbols::fgDT_BYTE, XSValue::dt_byte); + DATATYPE_TEST( SchemaSymbols::fgDT_NONNEGATIVEINTEGER, XSValue::dt_nonNegativeInteger); + DATATYPE_TEST( SchemaSymbols::fgDT_ULONG, XSValue::dt_unsignedLong); + DATATYPE_TEST( SchemaSymbols::fgDT_UINT, XSValue::dt_unsignedInt); + DATATYPE_TEST( SchemaSymbols::fgDT_USHORT, XSValue::dt_unsignedShort); + DATATYPE_TEST( SchemaSymbols::fgDT_UBYTE, XSValue::dt_unsignedByte); + DATATYPE_TEST( SchemaSymbols::fgDT_POSITIVEINTEGER, XSValue::dt_positiveInteger); + + DATATYPE_TEST( XMLUni::fgLongMaxInc, XSValue::dt_MAXCOUNT); +} + // --------------------------------------------------------------------------- // Program entry point // --------------------------------------------------------------------------- @@ -5511,6 +5599,8 @@ test_dt_unsignedByte(); test_dt_positiveInteger(); + test_DataType(); + printf("\nXSValueTest %s\n", errSeen? "Fail" : "Pass"); // And call the termination method @@ -5518,4 +5608,3 @@ return 0; } -
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]