[PATCH 1/5] shell32/tests: Add a basic test for NewMenu object creation

Nikolay Sivov nsivov at codeweavers.com
Sun Feb 18 10:10:42 CST 2018


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/shell32/tests/shlview.c | 30 ++++++++++++++++++++++++++++++
 include/shlguid.h            |  1 +
 2 files changed, 31 insertions(+)

diff --git a/dlls/shell32/tests/shlview.c b/dlls/shell32/tests/shlview.c
index 76855067c0..f31d16e5e2 100644
--- a/dlls/shell32/tests/shlview.c
+++ b/dlls/shell32/tests/shlview.c
@@ -1476,6 +1476,35 @@ if (0)
     IShellFolder_Release(desktop);
 }
 
+static void test_newmenu(void)
+{
+    IUnknown *unk, *unk2;
+    HRESULT hr;
+
+    hr = CoCreateInstance(&CLSID_NewMenu, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk);
+todo_wine
+    ok(hr == S_OK, "Failed to create NewMenu object, hr %#x.\n", hr);
+    if (hr != S_OK)
+    {
+        skip("NewMenu is not supported.\n");
+        return;
+    }
+
+    hr = IUnknown_QueryInterface(unk, &IID_IShellExtInit, (void **)&unk2);
+    ok(hr == S_OK, "Failed to get IShellExtInit, hr %#x.\n", hr);
+    IUnknown_Release(unk2);
+
+    hr = IUnknown_QueryInterface(unk, &IID_IContextMenu3, (void **)&unk2);
+    ok(hr == S_OK, "Failed to get IContextMenu3, hr %#x.\n", hr);
+    IUnknown_Release(unk2);
+
+    hr = IUnknown_QueryInterface(unk, &IID_IObjectWithSite, (void **)&unk2);
+    ok(hr == S_OK, "Failed to get IObjectWithSite, hr %#x.\n", hr);
+    IUnknown_Release(unk2);
+
+    IUnknown_Release(unk);
+}
+
 START_TEST(shlview)
 {
     OleInitialize(NULL);
@@ -1491,6 +1520,7 @@ START_TEST(shlview)
     test_IOleCommandTarget();
     test_SHCreateShellFolderView();
     test_SHCreateShellFolderViewEx();
+    test_newmenu();
 
     OleUninitialize();
 }
diff --git a/include/shlguid.h b/include/shlguid.h
index 028cb61f28..687bbec79e 100644
--- a/include/shlguid.h
+++ b/include/shlguid.h
@@ -146,6 +146,7 @@ DEFINE_GUID(CLSID_DragDropHelper, 0x4657278a, 0x411b, 0x11d2, 0x83, 0x9a, 0x00,
 DEFINE_GUID(CLSID_ProgressDialog, 0xf8383852, 0xfcd3, 0x11d1, 0xa6, 0xb9, 0x0, 0x60, 0x97, 0xdf, 0x5b, 0xd4);
 
 DEFINE_GUID(CLSID_ShellItem,      0x2fe352ea, 0xfd1f, 0x11d2, 0xb1, 0xf4, 0x00, 0xc0, 0x4f, 0x8e, 0xeb, 0x3e);
+DEFINE_GUID(CLSID_NewMenu,        0xd969a300, 0xe7ff, 0x11d0, 0xa9, 0x3b, 0x0, 0xa0, 0xc9, 0xf, 0x27, 0x19);
 
 #define PSGUID_SHELLDETAILS     {0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0}
 DEFINE_GUID(FMTID_ShellDetails,  0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
-- 
2.16.1




More information about the wine-devel mailing list