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 |