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