Chromium Code Reviews| Index: ui/base/template_expressions_unittest.cc |
| diff --git a/ui/base/template_expressions_unittest.cc b/ui/base/template_expressions_unittest.cc |
| index c219d0c7db95cc82ef06593a6fc78e86c59b7cc3..34de1c42281169807760dfd51afc5754a014281a 100644 |
| --- a/ui/base/template_expressions_unittest.cc |
| +++ b/ui/base/template_expressions_unittest.cc |
| @@ -54,4 +54,35 @@ TEST(TemplateExpressionsTest, ReplaceTemplateExpressionsRaw) { |
| ReplaceTemplateExpressions("$i18nRaw{rawSample}", substitutions)); |
| } |
| +TEST(TemplateExpressionsTest, ReplaceTemplateExpressionsPolymerQuoting) { |
| + static TemplateReplacements substitutions; |
| + substitutions["singleSample"] = "don't do it"; |
| + substitutions["doubleSample"] = "\"mood\" said the cow"; |
|
Dan Beam
2017/02/14 02:34:45
nit: moo
dschuyler
2017/02/14 17:59:36
Done.
|
| + // This resolves |Call('don\'t do it')| to Polymer, which is presented as |
| + // |don't do it| to the user. |
| + EXPECT_EQ("<div>[[Call('don\\'t do it')]]", |
| + ReplaceTemplateExpressions( |
| + "<div>[[Call('$i18nPolymer{singleSample}')]]", substitutions)); |
| + // This resolves |Call('\"mood\" said the cow')| to Polymer, which is |
| + // presented as |"mood" said the cow| to the user. |
| + EXPECT_EQ("<div>[[Call('\\\"mood\\\" said the cow')]]", |
| + ReplaceTemplateExpressions( |
| + "<div>[[Call('$i18nPolymer{doubleSample}')]]", substitutions)); |
| +} |
| + |
| +TEST(TemplateExpressionsTest, ReplaceTemplateExpressionsPolymerMixed) { |
| + static TemplateReplacements substitutions; |
| + substitutions["punctuationSample"] = "a\"b'c<d>e&f"; |
| + substitutions["htmlSample"] = "<div>hello</div>"; |
| + EXPECT_EQ("a\\\"b\\'c<d>e&f", |
| + ReplaceTemplateExpressions("$i18nPolymer{punctuationSample}", |
| + substitutions)); |
| + EXPECT_EQ("<div>hello</div>", ReplaceTemplateExpressions( |
| + "$i18nPolymer{htmlSample}", substitutions)); |
| + EXPECT_EQ("multiple: <div>hello</div>, a\\\"b\\'c<d>e&f.", |
| + ReplaceTemplateExpressions("multiple: $i18nPolymer{htmlSample}, " |
| + "$i18nPolymer{punctuationSample}.", |
| + substitutions)); |
| +} |
| + |
| } // namespace ui |