msxml3: Allow to create dummy node map for <?xml ?>.
authorNikolay Sivov <nsivov@codeweavers.com>
Sat, 26 Mar 2011 21:17:01 +0000 (00:17 +0300)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 28 Mar 2011 15:31:51 +0000 (17:31 +0200)
dlls/msxml3/pi.c
dlls/msxml3/tests/domdoc.c

index 89b2b5a9b46c418cd4964016d21736027925797d..302aea265fd760e3a500f21a58c2f70e37d0a491 100644 (file)
@@ -333,9 +333,10 @@ static HRESULT WINAPI dom_pi_get_attributes(
 
     if (!strcmpW(name, xmlW))
     {
-        FIXME("not implemented for <?xml..?> declaration\n");
+        FIXME("created dummy map for <?xml ?>\n");
+        *map = create_nodemap(This->node.node);
         SysFreeString(name);
-        return E_NOTIMPL;
+        return S_OK;
     }
 
     SysFreeString(name);
index cdba14b85e3455aae10471a167da7826be62e966..75fec545494f0b3289778a7f85c74565a3fab716 100644 (file)
@@ -9714,9 +9714,14 @@ static void test_get_attributes(void)
     ok(hr == S_OK, "got %08x\n", hr);
 
     hr = IXMLDOMNode_get_attributes(node, &map);
-    todo_wine ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "got %08x\n", hr);
+
+    length = -1;
+    hr = IXMLDOMNamedNodeMap_get_length(map, &length);
+    EXPECT_HR(hr, S_OK);
+    todo_wine ok(length == 1, "got %d\n", length);
 
-    if (hr == S_OK)
+    if (hr == S_OK && length == 1)
     {
         IXMLDOMAttribute *attr;
         DOMNodeType type;