Jacek Caban : atl: Backport some tests from atl100.
Alexandre Julliard
julliard at winehq.org
Wed Dec 26 14:05:17 CST 2012
Module: wine
Branch: master
Commit: 99065bb65fa41fc49a50452eae75aace5eb4c2a4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=99065bb65fa41fc49a50452eae75aace5eb4c2a4
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Dec 26 13:50:11 2012 +0100
atl: Backport some tests from atl100.
---
dlls/atl/tests/module.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 56 insertions(+), 0 deletions(-)
diff --git a/dlls/atl/tests/module.c b/dlls/atl/tests/module.c
index ffa62ad..45cff06 100644
--- a/dlls/atl/tests/module.c
+++ b/dlls/atl/tests/module.c
@@ -58,7 +58,63 @@ static void test_StructSize(void)
HeapFree (GetProcessHeap(), 0, tst);
}
+static void test_winmodule(void)
+{
+ _AtlCreateWndData create_data[3];
+ _ATL_MODULEW winmod;
+ void *p;
+ HRESULT hres;
+
+ winmod.cbSize = sizeof(winmod);
+ winmod.m_pCreateWndList = (void*)0xdeadbeef;
+ winmod.m_csWindowCreate.LockCount = 0xdeadbeef;
+ hres = AtlModuleInit(&winmod, NULL, NULL);
+ ok(hres == S_OK, "AtlModuleInit failed: %08x\n", hres);
+ ok(!winmod.m_pCreateWndList, "winmod.m_pCreateWndList = %p\n", winmod.m_pCreateWndList);
+ ok(winmod.m_csWindowCreate.LockCount == -1, "winmod.m_csWindowCreate.LockCount = %d\n",
+ winmod.m_csWindowCreate.LockCount);
+
+ AtlModuleAddCreateWndData(&winmod, create_data, (void*)0xdead0001);
+ ok(winmod.m_pCreateWndList == create_data, "winmod.m_pCreateWndList != create_data\n");
+ ok(create_data[0].m_pThis == (void*)0xdead0001, "unexpected create_data[0].m_pThis %p\n", create_data[0].m_pThis);
+ ok(create_data[0].m_dwThreadID == GetCurrentThreadId(), "unexpected create_data[0].m_dwThreadID %x\n",
+ create_data[0].m_dwThreadID);
+ ok(!create_data[0].m_pNext, "unexpected create_data[0].m_pNext %p\n", create_data[0].m_pNext);
+
+ AtlModuleAddCreateWndData(&winmod, create_data+1, (void*)0xdead0002);
+ ok(winmod.m_pCreateWndList == create_data+1, "winmod.m_pCreateWndList != create_data\n");
+ ok(create_data[1].m_pThis == (void*)0xdead0002, "unexpected create_data[1].m_pThis %p\n", create_data[1].m_pThis);
+ ok(create_data[1].m_dwThreadID == GetCurrentThreadId(), "unexpected create_data[1].m_dwThreadID %x\n",
+ create_data[1].m_dwThreadID);
+ ok(create_data[1].m_pNext == create_data, "unexpected create_data[1].m_pNext %p\n", create_data[1].m_pNext);
+
+ AtlModuleAddCreateWndData(&winmod, create_data+2, (void*)0xdead0003);
+ ok(winmod.m_pCreateWndList == create_data+2, "winmod.m_pCreateWndList != create_data\n");
+ ok(create_data[2].m_pThis == (void*)0xdead0003, "unexpected create_data[2].m_pThis %p\n", create_data[2].m_pThis);
+ ok(create_data[2].m_dwThreadID == GetCurrentThreadId(), "unexpected create_data[2].m_dwThreadID %x\n",
+ create_data[2].m_dwThreadID);
+ ok(create_data[2].m_pNext == create_data+1, "unexpected create_data[2].m_pNext %p\n", create_data[2].m_pNext);
+
+ p = AtlModuleExtractCreateWndData(&winmod);
+ ok(p == (void*)0xdead0003, "unexpected AtlModuleExtractCreateWndData result %p\n", p);
+ ok(winmod.m_pCreateWndList == create_data+1, "winmod.m_pCreateWndList != create_data\n");
+ ok(create_data[2].m_pNext == create_data+1, "unexpected create_data[2].m_pNext %p\n", create_data[2].m_pNext);
+
+ create_data[1].m_dwThreadID = 0xdeadbeef;
+
+ p = AtlModuleExtractCreateWndData(&winmod);
+ ok(p == (void*)0xdead0001, "unexpected AtlModuleExtractCreateWndData result %p\n", p);
+ ok(winmod.m_pCreateWndList == create_data+1, "winmod.m_pCreateWndList != create_data\n");
+ ok(!create_data[0].m_pNext, "unexpected create_data[0].m_pNext %p\n", create_data[0].m_pNext);
+ ok(!create_data[1].m_pNext, "unexpected create_data[1].m_pNext %p\n", create_data[1].m_pNext);
+
+ p = AtlModuleExtractCreateWndData(&winmod);
+ ok(!p, "unexpected AtlModuleExtractCreateWndData result %p\n", p);
+ ok(winmod.m_pCreateWndList == create_data+1, "winmod.m_pCreateWndList != create_data\n");
+}
+
START_TEST(module)
{
test_StructSize();
+ test_winmodule();
}
More information about the wine-cvs
mailing list