Migrate SkRTConfRegistry test to DEF_TEST().

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
This commit is contained in:
tfarina 2014-08-12 09:03:16 -07:00 committed by Commit bot
parent b3c9d1c33c
commit 35fbd014e3
3 changed files with 25 additions and 36 deletions

View 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

View 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

View 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);
}