diff options
author | slightlyoff@chromium.org <slightlyoff@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-01 01:38:59 +0000 |
---|---|---|
committer | slightlyoff@chromium.org <slightlyoff@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-05-01 01:38:59 +0000 |
commit | 43c698f773c0bbcf87b5486fbc4d2fbcb7a24dae (patch) | |
tree | fe9fa68354573cf9c6a00dd220a6096e81e58c45 /chrome_frame/test_utils.cc | |
parent | c664beb3d7ae2676c35db44d14eadd4b75c21164 (diff) | |
download | chromium_src-43c698f773c0bbcf87b5486fbc4d2fbcb7a24dae.zip chromium_src-43c698f773c0bbcf87b5486fbc4d2fbcb7a24dae.tar.gz chromium_src-43c698f773c0bbcf87b5486fbc4d2fbcb7a24dae.tar.bz2 |
Test for GCF install flow auto-patching.
BUG=42790
TEST=run chrome_frame_tests.exe --gtest_filter=*InstallFlow*
Review URL: http://codereview.chromium.org/1727018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46172 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/test_utils.cc')
-rw-r--r-- | chrome_frame/test_utils.cc | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/chrome_frame/test_utils.cc b/chrome_frame/test_utils.cc index e1377c7..7f8161a 100644 --- a/chrome_frame/test_utils.cc +++ b/chrome_frame/test_utils.cc @@ -20,6 +20,7 @@ #include "testing/gtest/include/gtest/gtest.h" const wchar_t kChromeFrameDllName[] = L"npchrome_frame.dll"; +const wchar_t kChromeLauncherExeName[] = L"chrome_launcher.exe"; const wchar_t kReferenceChromeFrameDllName[] = L"npchrome_tab.dll"; // Statics @@ -52,25 +53,50 @@ void ScopedChromeFrameRegistrar::RegisterAtPath( const std::wstring& path) { ASSERT_FALSE(path.empty()); - HMODULE chrome_frame_dll_handle = LoadLibrary(path.c_str()); - ASSERT_TRUE(chrome_frame_dll_handle != NULL); + HMODULE dll_handle = LoadLibrary(path.c_str()); + ASSERT_TRUE(dll_handle != NULL); typedef HRESULT (STDAPICALLTYPE* DllRegisterServerFn)(); DllRegisterServerFn register_server = reinterpret_cast<DllRegisterServerFn>(GetProcAddress( - chrome_frame_dll_handle, "DllRegisterServer")); + dll_handle, "DllRegisterServer")); ASSERT_TRUE(register_server != NULL); EXPECT_HRESULT_SUCCEEDED((*register_server)()); DllRegisterServerFn register_npapi_server = reinterpret_cast<DllRegisterServerFn>(GetProcAddress( - chrome_frame_dll_handle, "RegisterNPAPIPlugin")); + dll_handle, "RegisterNPAPIPlugin")); if (register_npapi_server != NULL) EXPECT_HRESULT_SUCCEEDED((*register_npapi_server)()); - ASSERT_TRUE(FreeLibrary(chrome_frame_dll_handle)); + ASSERT_TRUE(FreeLibrary(dll_handle)); +} + +void ScopedChromeFrameRegistrar::UnregisterAtPath( + const std::wstring& path) { + + ASSERT_FALSE(path.empty()); + HMODULE dll_handle = LoadLibrary(path.c_str()); + ASSERT_TRUE(dll_handle != NULL); + + typedef HRESULT (STDAPICALLTYPE* DllUnregisterServerFn)(); + DllUnregisterServerFn unregister_server = + reinterpret_cast<DllUnregisterServerFn>(GetProcAddress( + dll_handle, "DllUnregisterServer")); + + ASSERT_TRUE(unregister_server != NULL); + EXPECT_HRESULT_SUCCEEDED((*unregister_server)()); + + DllUnregisterServerFn unregister_npapi_server = + reinterpret_cast<DllUnregisterServerFn>(GetProcAddress( + dll_handle, "UnregisterNPAPIPlugin")); + + if (unregister_npapi_server != NULL) + EXPECT_HRESULT_SUCCEEDED((*unregister_npapi_server)()); + + ASSERT_TRUE(FreeLibrary(dll_handle)); } std::wstring ScopedChromeFrameRegistrar::GetReferenceChromeFrameDllPath() { |