Migrate SkRTConfRegistry test to DEF_TEST().
authortfarina <tfarina@chromium.org>
Tue, 12 Aug 2014 16:03:16 +0000 (09:03 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 12 Aug 2014 16:03:16 +0000 (09:03 -0700)
BUG=None
TEST=dm --tests=true --gms=false
R=mtklein@google.com, bsalomon@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/444303002

include/utils/SkRTConf.h
src/utils/SkRTConf.cpp
tests/RTConfRegistryTest.cpp

index 4ba6070..dc95cdb 100644 (file)
@@ -84,21 +84,20 @@ public:
     template <typename T> void set(const char *confname,
                                    T value,
                                    bool warnIfNotFound = true);
-#ifdef SK_SUPPORT_UNITTEST
-    static void UnitTest();
-#endif
+
 private:
     template<typename T> friend class SkRTConf;
 
     void registerConf(SkRTConfBase *conf);
+
     template <typename T> bool parse(const char *name, T* value);
 
     SkTDArray<SkString *> fConfigFileKeys, fConfigFileValues;
     typedef SkTDict< SkTDArray<SkRTConfBase *> * > ConfMap;
     ConfMap fConfs;
-#ifdef SK_SUPPORT_UNITTEST
-    SkRTConfRegistry(bool);
-#endif
+
+    template <typename T>
+    friend bool test_rt_conf_parse(SkRTConfRegistry*, const char* name, T* value);
 };
 
 // our singleton registry
index bb6cb23..8ca9981 100644 (file)
@@ -321,30 +321,3 @@ SkRTConfRegistry &skRTConfRegistry() {
     static SkRTConfRegistry r;
     return r;
 }
-
-
-#ifdef SK_SUPPORT_UNITTEST
-
-#ifdef SK_BUILD_FOR_WIN32
-static void sk_setenv(const char* key, const char* value) {
-    _putenv_s(key, value);
-}
-#else
-static void sk_setenv(const char* key, const char* value) {
-    setenv(key, value, 1);
-}
-#endif
-
-void SkRTConfRegistry::UnitTest() {
-    SkRTConfRegistry registryWithoutContents(true);
-
-    sk_setenv("skia_nonexistent_item", "132");
-    int result = 0;
-    registryWithoutContents.parse("nonexistent.item", &result);
-    SkASSERT(result == 132);
-}
-
-SkRTConfRegistry::SkRTConfRegistry(bool)
-    : fConfs(100) {
-}
-#endif
index f42281f..59fb3e9 100644 (file)
@@ -8,8 +8,25 @@
 #include "SkRTConf.h"
 #include "Test.h"
 
-DEF_TEST(SkRTConfRegistry, reporter) {
-#ifdef SK_SUPPORT_UNITTEST
-    SkRTConfRegistry::UnitTest();
+// Friended proxy for SkRTConfRegistry::parse()
+template <typename T>
+bool test_rt_conf_parse(SkRTConfRegistry* reg, const char* key, T* value) {
+    return reg->parse(key, value);
+}
+
+static void portable_setenv(const char* key, const char* value) {
+#ifdef SK_BUILD_FOR_WIN32
+    _putenv_s(key, value);
+#else
+    setenv(key, value, 1);
 #endif
 }
+
+DEF_TEST(SkRTConfRegistry, reporter) {
+    SkRTConfRegistry reg;
+
+    portable_setenv("skia_nonexistent_item", "132");
+    int result = 0;
+    test_rt_conf_parse(&reg, "nonexistent.item", &result);
+    REPORTER_ASSERT(reporter, result == 132);
+}