Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(382)

Side by Side Diff: ui/base/template_expressions_unittest.cc

Issue 1220793010: [ui/base;css] adding string template expression replacement (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix for incognito window Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ui/base/template_expressions.h"
6
7 #include "testing/gtest/include/gtest/gtest.h"
8
9 namespace ui {
10
11 TEST(TemplateExpressionsTest, ReplaceTemplateExpressions) {
12 std::map<base::string16, base::string16> substitutions;
13 substitutions[base::ASCIIToUTF16("one")] = base::ASCIIToUTF16("9a");
Dan Beam 2015/07/14 17:14:35 why are you using the version that requires this a
Dan Beam 2015/07/14 17:14:35 instead of building a map (which I have to do in m
dschuyler 2015/07/14 21:05:31 I'll work on this.
dschuyler 2015/07/14 21:05:31 Done.
dschuyler 2015/07/15 18:47:04 How about three entries? I've changed the keys/va
14 substitutions[base::ASCIIToUTF16("b")] = base::ASCIIToUTF16("8b");
15 substitutions[base::ASCIIToUTF16("cc")] = base::ASCIIToUTF16("7c");
16 substitutions[base::ASCIIToUTF16("four")] = base::ASCIIToUTF16("6d");
17 substitutions[base::ASCIIToUTF16("very long with spaces")] =
18 base::ASCIIToUTF16("5e");
19 substitutions[base::ASCIIToUTF16("")] = base::ASCIIToUTF16("4f");
20 substitutions[base::ASCIIToUTF16("&")] = base::ASCIIToUTF16("3g");
21 substitutions[base::ASCIIToUTF16("$")] = base::ASCIIToUTF16("2h");
22 substitutions[base::ASCIIToUTF16("$$")] = base::ASCIIToUTF16("1i");
23
24 EXPECT_EQ(ReplaceTemplateExpressions(base::ASCIIToUTF16("${ab${cd}ef}"),
Dan Beam 2015/07/14 17:14:35 EXPECT_STREQ
dschuyler 2015/07/14 21:05:30 Done.
25 substitutions),
26 base::ASCIIToUTF16("ef}"));
27 EXPECT_EQ(
28 ReplaceTemplateExpressions(base::ASCIIToUTF16("${}"), substitutions),
29 base::ASCIIToUTF16("4f"));
30 EXPECT_EQ(ReplaceTemplateExpressions(base::ASCIIToUTF16(""), substitutions),
31 base::ASCIIToUTF16(""));
32 EXPECT_EQ(ReplaceTemplateExpressions(
33 base::ASCIIToUTF16(
34 "${one}a,${b}b,${cc}c,${four}d,${very long with "
35 "spaces}e,${}f,${&}g,${$}h,${$$}i"),
36 substitutions),
37 base::ASCIIToUTF16("9aa,8bb,7cc,6dd,5ee,4ff,3gg,2hh,1ii"));
38 }
39
40 TEST(TemplateExpressionsTest,
41 ReplaceTemplateExpressionsConsecutiveDollarSigns) {
42 std::map<base::string16, base::string16> substitutions;
43 substitutions[base::ASCIIToUTF16("a")] = base::ASCIIToUTF16("9a");
44 substitutions[base::ASCIIToUTF16("b")] = base::ASCIIToUTF16("8b");
45 substitutions[base::ASCIIToUTF16("c")] = base::ASCIIToUTF16("7c");
46 EXPECT_EQ(ReplaceTemplateExpressions(
47 base::ASCIIToUTF16("$${a} $$${b} $$$${c} $$"), substitutions),
48 base::ASCIIToUTF16("${a} $${b} $$${c} $"));
49 EXPECT_EQ(
50 ReplaceTemplateExpressions(base::ASCIIToUTF16("$12"), substitutions),
51 base::ASCIIToUTF16("12"));
52 EXPECT_EQ(ReplaceTemplateExpressions(base::ASCIIToUTF16("$$"), substitutions),
53 base::ASCIIToUTF16("$"));
54 EXPECT_EQ(ReplaceTemplateExpressions(base::ASCIIToUTF16("$"), substitutions),
55 base::ASCIIToUTF16(""));
56 }
57
58 TEST(TemplateExpressionsTest, ReplaceTemplateExpressionsPieces) {
59 std::map<base::StringPiece, std::string> substitutions;
60 substitutions["one"] = "9a";
61 substitutions["b"] = "8b";
62 substitutions["cc"] = "7c";
63 substitutions["four"] = "6d";
64 substitutions["very long with spaces"] = "5e";
65 substitutions[""] = "4f";
66 substitutions["&"] = "3g";
67 substitutions["$"] = "2h";
68 substitutions["$$"] = "1i";
69
70 EXPECT_EQ(ReplaceTemplateExpressions("${ab${cd}ef}", substitutions), "ef}");
71 EXPECT_EQ(ReplaceTemplateExpressions("${}", substitutions), "4f");
72 EXPECT_EQ(ReplaceTemplateExpressions("", substitutions), "");
73 EXPECT_EQ(ReplaceTemplateExpressions(
74 "${one}a,${b}b,${cc}c,${four}d,${very long with "
75 "spaces}e,${}f,${&}g,${$}h,${$$}i",
76 substitutions),
77 "9aa,8bb,7cc,6dd,5ee,4ff,3gg,2hh,1ii");
78 }
79
80 TEST(TemplateExpressionsTest,
81 ReplaceTemplateExpressionsConsecutiveDollarSignsPieces) {
82 std::map<base::StringPiece, std::string> substitutions;
83 substitutions["a"] = "9a";
84 substitutions["b"] = "8b";
85 substitutions["c"] = "7c";
86 EXPECT_EQ(
87 ReplaceTemplateExpressions("$${a} $$${b} $$$${c} $$", substitutions),
88 "${a} $${b} $$${c} $");
89 EXPECT_EQ(ReplaceTemplateExpressions("$12", substitutions), "12");
90 EXPECT_EQ(ReplaceTemplateExpressions("$$", substitutions), "$");
91 EXPECT_EQ(ReplaceTemplateExpressions("$", substitutions), "");
92 }
93
94 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698