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
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
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
#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(®, "nonexistent.item", &result);
+ REPORTER_ASSERT(reporter, result == 132);
+}