Hans Leidekker : webservices/tests: Add some tests for WsSetWriterPosition.
Alexandre Julliard
julliard at winehq.org
Wed Aug 10 11:05:58 CDT 2016
Module: wine
Branch: master
Commit: 9c5b9399fc04ad93fdf31e8cda5431fa6170a0f3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9c5b9399fc04ad93fdf31e8cda5431fa6170a0f3
Author: Hans Leidekker <hans at codeweavers.com>
Date: Wed Aug 10 13:13:53 2016 +0200
webservices/tests: Add some tests for WsSetWriterPosition.
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/webservices/tests/writer.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/dlls/webservices/tests/writer.c b/dlls/webservices/tests/writer.c
index 3343ae5..65828a4 100644
--- a/dlls/webservices/tests/writer.c
+++ b/dlls/webservices/tests/writer.c
@@ -1576,6 +1576,7 @@ static void test_WsGetWriterPosition(void)
static void test_WsSetWriterPosition(void)
{
+ WS_XML_STRING localname = {1, (BYTE *)"t"}, ns = {0, NULL};
WS_HEAP *heap;
WS_XML_WRITER *writer;
WS_XML_BUFFER *buf1, *buf2;
@@ -1617,6 +1618,29 @@ static void test_WsSetWriterPosition(void)
hr = WsSetWriterPosition( writer, &pos, NULL );
ok( hr == E_INVALIDARG, "got %08x\n", hr );
+ hr = WsSetOutputToBuffer( writer, buf1, NULL, 0, NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+
+ /* try to write at non-final position */
+ hr = WsWriteStartElement( writer, NULL, &localname, &ns, NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+
+ pos.buffer = pos.node = NULL;
+ hr = WsGetWriterPosition( writer, &pos, NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( pos.buffer == buf1, "wrong buffer\n" );
+ ok( pos.node != NULL, "node not set\n" );
+
+ hr = WsWriteEndElement( writer, NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+ check_output_buffer( buf1, "<t/>", __LINE__ );
+
+ hr = WsSetWriterPosition( writer, &pos, NULL );
+ ok( hr == S_OK, "got %08x\n", hr );
+
+ hr = WsWriteStartElement( writer, NULL, &localname, &ns, NULL );
+ todo_wine ok( hr == WS_E_INVALID_FORMAT, "got %08x\n", hr );
+
WsFreeWriter( writer );
WsFreeHeap( heap );
}
More information about the wine-cvs
mailing list