| OLD | NEW | 
| (Empty) |  | 
 |   1 /* | 
 |   2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
 |   3  * Copyright (C) 2014 Eyeo GmbH | 
 |   4  * | 
 |   5  * Adblock Plus is free software: you can redistribute it and/or modify | 
 |   6  * it under the terms of the GNU General Public License version 3 as | 
 |   7  * published by the Free Software Foundation. | 
 |   8  * | 
 |   9  * Adblock Plus is distributed in the hope that it will be useful, | 
 |  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 |  12  * GNU General Public License for more details. | 
 |  13  * | 
 |  14  * You should have received a copy of the GNU General Public License | 
 |  15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
 |  16  */ | 
 |  17  | 
 |  18 #include <gtest/gtest.h> | 
 |  19  | 
 |  20 #include "../src/shared/Registry.h" | 
 |  21 #include "../src/shared/IE_Version.h" | 
 |  22  | 
 |  23 using namespace AdblockPlus; | 
 |  24  | 
 |  25 //---------------------------------- | 
 |  26 // Registry_Key | 
 |  27 //---------------------------------- | 
 |  28 TEST(RegistryTest, simple_0) | 
 |  29 { | 
 |  30   ASSERT_NO_THROW({ auto r = RegistryKey(HKEY_CLASSES_ROOT, L"CLSID"); }); | 
 |  31 } | 
 |  32  | 
 |  33 TEST(RegistryTest, constructor_illegal_argument_0) | 
 |  34 { | 
 |  35   ASSERT_ANY_THROW({ auto r1 = RegistryKey(HKEY_CLASSES_ROOT, L""); }); | 
 |  36 } | 
 |  37  | 
 |  38 TEST(RegistryTest, value_notfound_0) | 
 |  39 { | 
 |  40   auto r1 = RegistryKey(HKEY_CLASSES_ROOT, L"CLSID"); | 
 |  41   ASSERT_ANY_THROW({ r1.value_wstring(L"nonexistent"); }); | 
 |  42 } | 
 |  43  | 
 |  44 //---------------------------------- | 
 |  45 // IE_Version | 
 |  46 //---------------------------------- | 
 |  47 /* | 
 |  48  * Exact version tests enabled by default. | 
 |  49  * If they are disabled, gtext will report 2 disabled tests. | 
 |  50  */ | 
 |  51 #if !defined(DISABLE_EXACT_TESTS) | 
 |  52 #define exact(x) exact_##x | 
 |  53 #else | 
 |  54 #define exact(x) DISABLED_exact_##x | 
 |  55 #endif | 
 |  56 /* | 
 |  57  * Define a default version as the current version of IE in general release. | 
 |  58  * Predefine on the command line to compile tests for non-standard development e
    nvironments. | 
 |  59  */ | 
 |  60 #ifndef INSTALLED_IE_VERSION | 
 |  61 #define INSTALLED_IE_VERSION 11 | 
 |  62 #endif | 
 |  63  | 
 |  64 TEST(IE_Version_Test, sanity_string) | 
 |  65 { | 
 |  66   std::wstring version = AdblockPlus::IE::InstalledVersionString(); | 
 |  67   ASSERT_FALSE(version.length() == 0); // separate test for default value | 
 |  68   ASSERT_TRUE(version.length() >= 2); | 
 |  69 } | 
 |  70  | 
 |  71 TEST(IE_Version_Test, sanity_major) | 
 |  72 { | 
 |  73   int version = AdblockPlus::IE::InstalledMajorVersion(); | 
 |  74   ASSERT_NE(version, 0); // separate test for default value | 
 |  75   ASSERT_GE(version, 6); | 
 |  76   ASSERT_LE(version, 12); | 
 |  77   EXPECT_NE(version, 12); // This check will point out when the test needs updat
    ing. | 
 |  78 } | 
 |  79  | 
 |  80 TEST(IE_Version_Test, exact(string)) | 
 |  81 { | 
 |  82     std::wstring version = AdblockPlus::IE::InstalledVersionString(); | 
 |  83     std::wstring expected = std::to_wstring(INSTALLED_IE_VERSION) + L"."; | 
 |  84     ASSERT_EQ(expected, version.substr(0, expected.length())); | 
 |  85 } | 
 |  86  | 
 |  87 TEST(IE_Version_Test, exact(major)) | 
 |  88 { | 
 |  89   int version = AdblockPlus::IE::InstalledMajorVersion(); | 
 |  90   ASSERT_EQ(version, INSTALLED_IE_VERSION); | 
 |  91 } | 
| OLD | NEW |