Chromium Code Reviews| Index: chrome/common/pref_names_util_unittest.cc | 
| diff --git a/chrome/common/pref_names_util_unittest.cc b/chrome/common/pref_names_util_unittest.cc | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..a3e79c72879224e8897c74c452a6d7a4e81a1737 | 
| --- /dev/null | 
| +++ b/chrome/common/pref_names_util_unittest.cc | 
| @@ -0,0 +1,53 @@ | 
| +// Copyright (c) 2012 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. | 
| + | 
| +#include "chrome/common/pref_names_util.h" | 
| + | 
| +#include "testing/gtest/include/gtest/gtest.h" | 
| + | 
| +namespace { | 
| + | 
| +void ExpectNoParse(const std::string& path) | 
| +{ | 
| 
 
Bernhard Bauer
2012/10/30 20:57:51
Nit: brace on previous line
 
falken
2012/10/31 06:27:59
Done.
 
 | 
| + EXPECT_FALSE(pref_names_util::ParseFontNamePrefPath(path, NULL, NULL)); | 
| +} | 
| + | 
| +void ExpectParse(const std::string& path, | 
| + const std::string& expected_generic_family, | 
| + const std::string& expected_script) | 
| +{ | 
| + std::string generic_family; | 
| + std::string script; | 
| + | 
| + EXPECT_TRUE(pref_names_util::ParseFontNamePrefPath(path, &generic_family, | 
| 
 
Bernhard Bauer
2012/10/30 20:57:51
It doesn't really make a difference, but I think y
 
falken
2012/10/31 06:27:59
Done.
 
 | 
| + &script)); | 
| + ASSERT_EQ(expected_generic_family, generic_family); | 
| + ASSERT_EQ(expected_script, script); | 
| +} | 
| + | 
| +} // namespace | 
| + | 
| +TEST(PrefNamesUtilTest, Basic) { | 
| + ExpectNoParse(""); | 
| + ExpectNoParse("."); | 
| + ExpectNoParse("....."); | 
| + ExpectNoParse("webkit.webprefs.fonts."); | 
| + ExpectNoParse("webkit.webprefs.fonts.."); | 
| + ExpectNoParse("webkit.webprefs.fontsfoobar.standard.Hrkt"); | 
| + ExpectNoParse("foobar.webprefs.fonts.standard.Hrkt"); | 
| + ExpectParse("webkit.webprefs.fonts.standard.Hrkt", "standard", "Hrkt"); | 
| + ExpectParse("webkit.webprefs.fonts.standard.Hrkt.", "standard", "Hrkt."); | 
| + ExpectParse("webkit.webprefs.fonts.standard.Hrkt.Foobar", "standard", | 
| + "Hrkt.Foobar"); | 
| + | 
| + // We don't particularly care about the parsed family and script for these | 
| + // inputs, but just want to make sure it does something reasonable. Returning | 
| + // false may also be an option. | 
| + ExpectParse("webkit.webprefs.fonts...", "", "."); | 
| + ExpectParse("webkit.webprefs.fonts....", "", ".."); | 
| + | 
| + // Check that passing NULL output params is okay. | 
| + EXPECT_TRUE(pref_names_util::ParseFontNamePrefPath( | 
| + "webkit.webprefs.fonts.standard.Hrkt", NULL, NULL)); | 
| +} |