[7/7] webservices/tests: Add tests.
Hans Leidekker
hans at codeweavers.com
Mon Jul 10 04:02:34 CDT 2017
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/webservices/tests/reader.c | 362 ++++++++++++++++++++++++++++++++++++----
1 file changed, 333 insertions(+), 29 deletions(-)
diff --git a/dlls/webservices/tests/reader.c b/dlls/webservices/tests/reader.c
index 3d90ca0..072a46e 100644
--- a/dlls/webservices/tests/reader.c
+++ b/dlls/webservices/tests/reader.c
@@ -4802,6 +4802,16 @@ static HRESULT set_input_bin( WS_XML_READER *reader, const char *data, ULONG siz
return WsSetInput( reader, &bin.encoding, &buf.input, NULL, 0, NULL );
}
+static const WS_XML_TEXT_NODE *read_text_node( WS_XML_READER *reader )
+{
+ const WS_XML_NODE *node;
+ if (WsReadNode( reader, NULL ) != S_OK) return NULL;
+ if (WsReadNode( reader, NULL ) != S_OK) return NULL;
+ if (WsGetReaderNode( reader, &node, NULL ) != S_OK) return NULL;
+ if (node->nodeType != WS_XML_NODE_TYPE_TEXT) return NULL;
+ return (const WS_XML_TEXT_NODE *)node;
+}
+
static void test_binary_encoding(void)
{
static WS_XML_STRING localname = {1, (BYTE *)"t"}, ns = {0, NULL};
@@ -4817,6 +4827,52 @@ static void test_binary_encoding(void)
{0x40,0x01,'t',0x9f,0x01,'a'};
static const char test6[] =
{0x40,0x01,'t',0xa0,0x01,0x00,'a',0x9f,0x01,'b'};
+ static const char test7[] =
+ {0x40,0x01,'t',0xb5,0xff,0xff,0xff,0xff};
+ static const char test8[] =
+ {0x40,0x01,'t',0xb5,0x00,0x00,0x00,0x00};
+ static const char test9[] =
+ {0x40,0x01,'t',0x81};
+ static const char test10[] =
+ {0x40,0x01,'t',0x83};
+ static const char test11[] =
+ {0x40,0x01,'t',0x85};
+ static const char test12[] =
+ {0x40,0x01,'t',0x87};
+ static const char test13[] =
+ {0x40,0x01,'t',0x89,0xff};
+ static const char test14[] =
+ {0x40,0x01,'t',0x8b,0xff,0xff};
+ static const char test15[] =
+ {0x40,0x01,'t',0x8d,0xff,0xff,0xff,0xff};
+ static const char test16[] =
+ {0x40,0x01,'t',0x8f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
+ static const char test17[] =
+ {0x40,0x01,'t',0x93,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
+ static const char test18[] =
+ {0x40,0x01,'t',0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
+ static const char test19[] =
+ {0x40,0x01,'t',0x99,0x01,0x61};
+ static const char test20[] =
+ {0x40,0x01,'t',0x9b,0x01,0x00,0x61};
+ static const char test21[] =
+ {0x40,0x01,'t',0x9d,0x01,0x00,0x00,0x00,0x61};
+ static const char test22[] =
+ {0x40,0x01,'t',0x9f,0x01,0x61};
+ static const char test23[] =
+ {0x40,0x01,'t',0xa1,0x01,0x00,0x61};
+ static const char test24[] =
+ {0x40,0x01,'t',0xa3,0x01,0x00,0x00,0x00,0x61};
+ static const char test25[] =
+ {0x40,0x01,'t',0xa9};
+ static const char test26[] =
+ {0x40,0x01,'t',0xab,0x0c};
+ static const char test27[] =
+ {0x40,0x01,'t',0xad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
+ static const char test28[] =
+ {0x40,0x01,'t',0xb1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
+ static const char test29[] =
+ {0x40,0x01,'t',0xb3,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
static const char test100[] =
{0x40,0x01,'t',0x04,0x01,'t',0x98,0x00,0x01};
static const char test101[] =
@@ -4828,12 +4884,21 @@ static void test_binary_encoding(void)
static const char test200[] =
{0x02,0x07,'c','o','m','m','e','n','t'};
const WS_XML_NODE *node;
+ const WS_XML_TEXT_NODE *text_node;
const WS_XML_ELEMENT_NODE *elem;
const WS_XML_ATTRIBUTE *attr;
- const WS_XML_TEXT_NODE *text;
- const WS_XML_UTF8_TEXT *utf8;
- const WS_XML_BASE64_TEXT *base64;
+ const WS_XML_UTF8_TEXT *utf8_text;
+ const WS_XML_BASE64_TEXT *base64_text;
+ const WS_XML_INT32_TEXT *int32_text;
+ const WS_XML_INT64_TEXT *int64_text;
+ const WS_XML_DOUBLE_TEXT *double_text;
+ const WS_XML_DATETIME_TEXT *datetime_text;
+ const WS_XML_BOOL_TEXT *bool_text;
+ const WS_XML_UNIQUE_ID_TEXT *unique_id_text;
+ const WS_XML_GUID_TEXT *guid_text;
+ const WS_XML_UINT64_TEXT *uint64_text;
const WS_XML_COMMENT_NODE *comment;
+ WS_XML_DICTIONARY *dict;
WS_XML_READER *reader;
WS_HEAP *heap;
BOOL found;
@@ -4845,6 +4910,9 @@ static void test_binary_encoding(void)
WS_BYTES data;
} *typetest;
+ hr = WsGetDictionary( WS_ENCODING_XML_BINARY_1, &dict, NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+
hr = WsCreateReader( NULL, 0, &reader, NULL );
ok( hr == S_OK, "got %08x\n", hr );
@@ -4969,11 +5037,11 @@ static void test_binary_encoding(void)
hr = WsGetReaderNode( reader, &node, NULL );
ok( hr == S_OK, "got %08x\n", hr );
ok( node->nodeType == WS_XML_NODE_TYPE_TEXT, "got %u\n", node->nodeType );
- text = (const WS_XML_TEXT_NODE *)node;
- ok( text->text->textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", text->text->textType );
- utf8 = (const WS_XML_UTF8_TEXT *)text->text;
- ok( utf8->value.length == 4, "got %u\n", utf8->value.length );
- ok( !memcmp( utf8->value.bytes, "test", 4 ), "wrong text\n" );
+ text_node = (const WS_XML_TEXT_NODE *)node;
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", text_node->text->textType );
+ utf8_text = (const WS_XML_UTF8_TEXT *)text_node->text;
+ ok( utf8_text->value.length == 4, "got %u\n", utf8_text->value.length );
+ ok( !memcmp( utf8_text->value.bytes, "test", 4 ), "wrong text\n" );
hr = WsReadNode( reader, NULL );
ok( hr == S_OK, "got %08x\n", hr );
@@ -4981,6 +5049,242 @@ static void test_binary_encoding(void)
ok( hr == S_OK, "got %08x\n", hr );
ok( node->nodeType == WS_XML_NODE_TYPE_END_ELEMENT, "got %u\n", node->nodeType );
+ /* bool text, TRUE */
+ hr = set_input_bin( reader, test7, sizeof(test7), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_BOOL, "got %u\n", text_node->text->textType );
+ bool_text = (WS_XML_BOOL_TEXT *)text_node->text;
+ ok( bool_text->value == TRUE, "got %d\n", bool_text->value );
+
+ /* bool text, FALSE */
+ hr = set_input_bin( reader, test8, sizeof(test8), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_BOOL, "got %u\n", text_node->text->textType );
+ bool_text = (WS_XML_BOOL_TEXT *)text_node->text;
+ ok( !bool_text->value, "got %d\n", bool_text->value );
+
+ /* zero text */
+ hr = set_input_bin( reader, test9, sizeof(test9), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_INT32, "got %u\n", text_node->text->textType );
+ int32_text = (WS_XML_INT32_TEXT *)text_node->text;
+ ok( !int32_text->value, "got %d\n", int32_text->value );
+
+ /* one text */
+ hr = set_input_bin( reader, test10, sizeof(test10), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_INT32, "got %u\n", text_node->text->textType );
+ int32_text = (WS_XML_INT32_TEXT *)text_node->text;
+ ok( int32_text->value == 1, "got %d\n", int32_text->value );
+
+ /* false text */
+ hr = set_input_bin( reader, test11, sizeof(test11), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_BOOL, "got %u\n", text_node->text->textType );
+ bool_text = (WS_XML_BOOL_TEXT *)text_node->text;
+ ok( !bool_text->value, "got %d\n", bool_text->value );
+
+ /* true text */
+ hr = set_input_bin( reader, test12, sizeof(test12), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_BOOL, "got %u\n", text_node->text->textType );
+ bool_text = (WS_XML_BOOL_TEXT *)text_node->text;
+ ok( bool_text->value == TRUE, "got %d\n", bool_text->value );
+
+ /* int32 text, int8 record */
+ hr = set_input_bin( reader, test13, sizeof(test13), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_INT32, "got %u\n", text_node->text->textType );
+ int32_text = (WS_XML_INT32_TEXT *)text_node->text;
+ ok( int32_text->value == -1, "got %d\n", int32_text->value );
+
+ /* int32 text, int16 record */
+ hr = set_input_bin( reader, test14, sizeof(test14), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_INT32, "got %u\n", text_node->text->textType );
+ int32_text = (WS_XML_INT32_TEXT *)text_node->text;
+ ok( int32_text->value == -1, "got %d\n", int32_text->value );
+
+ /* int32 text, int32 record */
+ hr = set_input_bin( reader, test15, sizeof(test15), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_INT32, "got %u\n", text_node->text->textType );
+ int32_text = (WS_XML_INT32_TEXT *)text_node->text;
+ ok( int32_text->value == -1, "got %d\n", int32_text->value );
+
+ /* int64 text, int64 record */
+ hr = set_input_bin( reader, test16, sizeof(test16), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_INT64, "got %u\n", text_node->text->textType );
+ int64_text = (WS_XML_INT64_TEXT *)text_node->text;
+ ok( int64_text->value == -1, "got %s\n", wine_dbgstr_longlong(int64_text->value) );
+
+ /* double text */
+ hr = set_input_bin( reader, test17, sizeof(test17), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_DOUBLE, "got %u\n", text_node->text->textType );
+ double_text = (WS_XML_DOUBLE_TEXT *)text_node->text;
+ ok( !double_text->value, "got %s\n", wine_dbgstr_longlong(double_text->value) );
+
+ /* datetime text */
+ hr = set_input_bin( reader, test18, sizeof(test18), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_DATETIME, "got %u\n", text_node->text->textType );
+ datetime_text = (WS_XML_DATETIME_TEXT *)text_node->text;
+ ok( !datetime_text->value.ticks, "got %s\n", wine_dbgstr_longlong(datetime_text->value.ticks) );
+ ok( datetime_text->value.format == WS_DATETIME_FORMAT_NONE, "got %u\n", datetime_text->value.format );
+
+ /* utf8 text, chars8 record */
+ hr = set_input_bin( reader, test19, sizeof(test19), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", text_node->text->textType );
+ utf8_text = (WS_XML_UTF8_TEXT *)text_node->text;
+ ok( utf8_text->value.length == 1, "got %u\n", utf8_text->value.length );
+ ok( utf8_text->value.bytes[0] == 'a', "got %02x\n", utf8_text->value.bytes[0] );
+
+ /* utf8 text, chars16 record */
+ hr = set_input_bin( reader, test20, sizeof(test20), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", text_node->text->textType );
+ utf8_text = (WS_XML_UTF8_TEXT *)text_node->text;
+ ok( utf8_text->value.length == 1, "got %u\n", utf8_text->value.length );
+ ok( utf8_text->value.bytes[0] == 'a', "got %02x\n", utf8_text->value.bytes[0] );
+
+ /* utf8 text, chars32 record */
+ hr = set_input_bin( reader, test21, sizeof(test21), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", text_node->text->textType );
+ utf8_text = (WS_XML_UTF8_TEXT *)text_node->text;
+ ok( utf8_text->value.length == 1, "got %u\n", utf8_text->value.length );
+ ok( utf8_text->value.bytes[0] == 'a', "got %02x\n", utf8_text->value.bytes[0] );
+
+ /* base64 text, bytes8 record */
+ hr = set_input_bin( reader, test22, sizeof(test22), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_BASE64, "got %u\n", text_node->text->textType );
+ base64_text = (WS_XML_BASE64_TEXT *)text_node->text;
+ ok( base64_text->length == 1, "got %u\n", base64_text->length );
+ ok( base64_text->bytes[0] == 'a', "got %02x\n", base64_text->bytes[0] );
+
+ /* base64 text, bytes16 record */
+ hr = set_input_bin( reader, test23, sizeof(test23), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_BASE64, "got %u\n", text_node->text->textType );
+ base64_text = (WS_XML_BASE64_TEXT *)text_node->text;
+ ok( base64_text->length == 1, "got %u\n", base64_text->length );
+ ok( base64_text->bytes[0] == 'a', "got %02x\n", base64_text->bytes[0] );
+
+ /* base64 text, bytes32 record */
+ hr = set_input_bin( reader, test24, sizeof(test24), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_BASE64, "got %u\n", text_node->text->textType );
+ base64_text = (WS_XML_BASE64_TEXT *)text_node->text;
+ ok( base64_text->length == 1, "got %u\n", base64_text->length );
+ ok( base64_text->bytes[0] == 'a', "got %02x\n", base64_text->bytes[0] );
+
+ /* empty text */
+ hr = set_input_bin( reader, test25, sizeof(test25), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", text_node->text->textType );
+ utf8_text = (WS_XML_UTF8_TEXT *)text_node->text;
+ ok( !utf8_text->value.length, "got %u\n", utf8_text->value.length );
+ ok( utf8_text->value.bytes != NULL, "bytes not set\n" );
+
+ /* dictionary text */
+ hr = set_input_bin( reader, test26, sizeof(test26), dict );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", text_node->text->textType );
+ utf8_text = (WS_XML_UTF8_TEXT *)text_node->text;
+ ok( utf8_text->value.length == 2, "got %u\n", utf8_text->value.length );
+ ok( utf8_text->value.bytes[0] == 'T', "got %02x\n", utf8_text->value.bytes[0] );
+ ok( utf8_text->value.bytes[1] == 'o', "got %02x\n", utf8_text->value.bytes[0] );
+
+ /* unique id text */
+ hr = set_input_bin( reader, test27, sizeof(test27), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_UNIQUE_ID, "got %u\n", text_node->text->textType );
+ unique_id_text = (WS_XML_UNIQUE_ID_TEXT *)text_node->text;
+ ok( IsEqualGUID( &unique_id_text->value, &guid_null ), "wrong data\n" );
+
+ /* guid text */
+ hr = set_input_bin( reader, test28, sizeof(test28), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_GUID, "got %u\n", text_node->text->textType );
+ guid_text = (WS_XML_GUID_TEXT *)text_node->text;
+ ok( IsEqualGUID( &guid_text->value, &guid_null ), "wrong data\n" );
+
+ /* uint64 text */
+ hr = set_input_bin( reader, test29, sizeof(test29), NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ text_node = read_text_node( reader );
+ ok( text_node != NULL, "no text\n" );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_UINT64, "got %u\n", text_node->text->textType );
+ uint64_text = (WS_XML_UINT64_TEXT *)text_node->text;
+ ok( uint64_text->value == 1, "got %s\n", wine_dbgstr_longlong(uint64_text->value) );
+
/* short attribute */
hr = set_input_bin( reader, test100, sizeof(test100), NULL );
ok( hr == S_OK, "got %08x\n", hr );
@@ -5007,10 +5311,10 @@ static void test_binary_encoding(void)
ok( !attr->ns->length, "got %u\n", attr->ns->length );
ok( elem->ns->bytes != NULL, "bytes not set\n" );
ok( attr->value != NULL, "value not set\n" );
- utf8 = (const WS_XML_UTF8_TEXT *)attr->value;
- ok( utf8->text.textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", utf8->text.textType );
- ok( !utf8->value.length, "got %u\n", utf8->value.length );
- ok( utf8->value.bytes != NULL, "bytes not set\n" );
+ utf8_text = (const WS_XML_UTF8_TEXT *)attr->value;
+ ok( utf8_text->text.textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", utf8_text->text.textType );
+ ok( !utf8_text->value.length, "got %u\n", utf8_text->value.length );
+ ok( utf8_text->value.bytes != NULL, "bytes not set\n" );
hr = WsReadNode( reader, NULL );
ok( hr == S_OK, "got %08x\n", hr );
@@ -5045,10 +5349,10 @@ static void test_binary_encoding(void)
ok( attr->ns->length == 2, "got %u\n", attr->ns->length );
ok( !memcmp( attr->ns->bytes, "ns", 2 ), "wrong namespace\n" );
ok( attr->value != NULL, "value not set\n" );
- utf8 = (const WS_XML_UTF8_TEXT *)attr->value;
- ok( utf8->text.textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", utf8->text.textType );
- ok( !utf8->value.length, "got %u\n", utf8->value.length );
- ok( utf8->value.bytes != NULL, "bytes not set\n" );
+ utf8_text = (const WS_XML_UTF8_TEXT *)attr->value;
+ ok( utf8_text->text.textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", utf8_text->text.textType );
+ ok( !utf8_text->value.length, "got %u\n", utf8_text->value.length );
+ ok( utf8_text->value.bytes != NULL, "bytes not set\n" );
attr = elem->attributes[1];
ok( !attr->singleQuote, "single quote\n" );
ok( attr->isXmlNs, "not xmlns\n" );
@@ -5090,10 +5394,10 @@ static void test_binary_encoding(void)
ok( attr->ns->length == 2, "got %u\n", attr->ns->length );
ok( !memcmp( attr->ns->bytes, "ns", 2 ), "wrong namespace\n" );
ok( attr->value != NULL, "value not set\n" );
- utf8 = (const WS_XML_UTF8_TEXT *)attr->value;
- ok( utf8->text.textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", utf8->text.textType );
- ok( !utf8->value.length, "got %u\n", utf8->value.length );
- ok( utf8->value.bytes != NULL, "bytes not set\n" );
+ utf8_text = (const WS_XML_UTF8_TEXT *)attr->value;
+ ok( utf8_text->text.textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", utf8_text->text.textType );
+ ok( !utf8_text->value.length, "got %u\n", utf8_text->value.length );
+ ok( utf8_text->value.bytes != NULL, "bytes not set\n" );
attr = elem->attributes[1];
ok( !attr->singleQuote, "single quote\n" );
ok( attr->isXmlNs, "not xmlns\n" );
@@ -5135,10 +5439,10 @@ static void test_binary_encoding(void)
ok( attr->ns->length == 2, "got %u\n", attr->ns->length );
ok( !memcmp( attr->ns->bytes, "ns", 2 ), "wrong namespace\n" );
ok( attr->value != NULL, "value not set\n" );
- utf8 = (const WS_XML_UTF8_TEXT *)attr->value;
- ok( utf8->text.textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", utf8->text.textType );
- ok( utf8->value.length == 4, "got %u\n", utf8->value.length );
- ok( !memcmp( utf8->value.bytes, "test", 4 ), "wrong value\n" );
+ utf8_text = (const WS_XML_UTF8_TEXT *)attr->value;
+ ok( utf8_text->text.textType == WS_XML_TEXT_TYPE_UTF8, "got %u\n", utf8_text->text.textType );
+ ok( utf8_text->value.length == 4, "got %u\n", utf8_text->value.length );
+ ok( !memcmp( utf8_text->value.bytes, "test", 4 ), "wrong value\n" );
attr = elem->attributes[1];
ok( !attr->singleQuote, "single quote\n" );
ok( attr->isXmlNs, "not xmlns\n" );
@@ -5195,11 +5499,11 @@ static void test_binary_encoding(void)
hr = WsGetReaderNode( reader, &node, NULL );
ok( hr == S_OK, "got %08x\n", hr );
ok( node->nodeType == WS_XML_NODE_TYPE_TEXT, "got %u\n", node->nodeType );
- text = (const WS_XML_TEXT_NODE *)node;
- ok( text->text->textType == WS_XML_TEXT_TYPE_BASE64, "got %u\n", text->text->textType );
- base64 = (const WS_XML_BASE64_TEXT *)text->text;
- ok( base64->length == 1, "got %u\n", base64->length );
- ok( base64->bytes[0] == 'a', "wrong data %02x\n", base64->bytes[0] );
+ text_node = (const WS_XML_TEXT_NODE *)node;
+ ok( text_node->text->textType == WS_XML_TEXT_TYPE_BASE64, "got %u\n", text_node->text->textType );
+ base64_text = (const WS_XML_BASE64_TEXT *)text_node->text;
+ ok( base64_text->length == 1, "got %u\n", base64_text->length );
+ ok( base64_text->bytes[0] == 'a', "wrong data %02x\n", base64_text->bytes[0] );
/* element with mixed byte record text */
hr = set_input_bin( reader, test6, sizeof(test6), NULL );
--
2.1.4
More information about the wine-patches
mailing list