Index: ceee/ie/common/ceee_util_unittest.cc |
diff --git a/ceee/ie/common/ceee_util_unittest.cc b/ceee/ie/common/ceee_util_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..24149989fe058b1a376f1abf232b79610813e461 |
--- /dev/null |
+++ b/ceee/ie/common/ceee_util_unittest.cc |
@@ -0,0 +1,55 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+// |
+// Unit tests for the CEEE utilities. |
+ |
+#include "ceee/ie/common/ceee_util.h" |
+ |
+#include <ostream> // NOLINT |
+#include <winerror.h> |
+ |
+#include "base/logging.h" |
+#include "gmock/gmock.h" |
+#include "gtest/gtest.h" |
+#include "ceee/testing/utils/mock_static.h" |
+ |
+namespace { |
+ |
+using testing::_; |
+using testing::Return; |
+ |
+TEST(CeeeUtilTest, IsIeCeeeRegisteredRealRegistry) { |
+ // This exercises the code but does not assert on the result, |
+ // it simply prints the result for human evaluation. |
+ // |
+ // It's hard to mock the HKCR registry so don't try for now; |
+ // further tests mock out the entire registry access. |
+ bool is_registered = ceee_util::IsIeCeeeRegistered(); |
+ std::cout << "IsIeCeeeRegistered returned " << is_registered << std::endl; |
+} |
+ |
+MOCK_STATIC_CLASS_BEGIN(MockRegOpenKeyEx) |
+ MOCK_STATIC_INIT_BEGIN(MockRegOpenKeyEx) |
+ MOCK_STATIC_INIT(RegOpenKeyEx); |
+ MOCK_STATIC_INIT_END() |
+ |
+ MOCK_STATIC5(LSTATUS, APIENTRY, RegOpenKeyEx, |
+ HKEY, LPCWSTR, DWORD, REGSAM, PHKEY); |
+MOCK_STATIC_CLASS_END(MockRegOpenKeyEx) |
+ |
+TEST(CeeeUtilTest, IsIeCeeeRegisteredYes) { |
+ MockRegOpenKeyEx mock_reg; |
+ EXPECT_CALL(mock_reg, RegOpenKeyEx(_, _, _, _, _)) |
+ .WillOnce(Return(ERROR_SUCCESS)); |
+ ASSERT_TRUE(ceee_util::IsIeCeeeRegistered()); |
+} |
+ |
+TEST(CeeeUtilTest, IsIeCeeeRegisteredNo) { |
+ MockRegOpenKeyEx mock_reg; |
+ EXPECT_CALL(mock_reg, RegOpenKeyEx(_, _, _, _, _)) |
+ .WillOnce(Return(ERROR_FILE_NOT_FOUND)); |
+ ASSERT_FALSE(ceee_util::IsIeCeeeRegistered()); |
+} |
+ |
+} // namespace |