|
@@ -0,0 +1,72 @@
|
|
|
+# HG changeset patch
|
|
|
+# User Gerald Squelart <gsquelart@mozilla.com>
|
|
|
+# Date 1534399175 0
|
|
|
+# Node ID 9c569226e852c2df21769e2393a7bb02fc8a23cd
|
|
|
+# Parent 0c049502810720c59f8343b685e12e6cc0f53d17
|
|
|
+Bug 1483721 - Fix MSVC error by skipping tests with too-big characters - r=hsivonen
|
|
|
+
|
|
|
+Using `u"..."` for strings with non-ascii characters.
|
|
|
+
|
|
|
+Differential Revision: https://phabricator.services.mozilla.com/D3462
|
|
|
+
|
|
|
+diff --git a/dom/base/test/gtest/TestMimeType.cpp b/dom/base/test/gtest/TestMimeType.cpp
|
|
|
+--- a/dom/base/test/gtest/TestMimeType.cpp
|
|
|
++++ b/dom/base/test/gtest/TestMimeType.cpp
|
|
|
+@@ -168,17 +168,17 @@ TEST(MimeType, NonLatin1MediaType1)
|
|
|
+ const auto in = NS_LITERAL_STRING("ÿ/ÿ");
|
|
|
+ UniquePtr<MimeType> parsed = MimeType::Parse(in);
|
|
|
+ ASSERT_FALSE(parsed) <<
|
|
|
+ "Non-latin1 media type #1";
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST(MimeType, NonLatin1MediaType2)
|
|
|
+ {
|
|
|
+- const auto in = NS_LITERAL_STRING("\x0100/\x0100");
|
|
|
++ const auto in = NS_LITERAL_STRING(u"\x0100/\x0100");
|
|
|
+ UniquePtr<MimeType> parsed = MimeType::Parse(in);
|
|
|
+ ASSERT_FALSE(parsed) <<
|
|
|
+ "Non-latin1 media type #2";
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST(MimeType, MultipleParameters)
|
|
|
+ {
|
|
|
+ const auto in = NS_LITERAL_STRING("text/html;charset=gbk;no=1;charset_=gbk_;yes=2");
|
|
|
+@@ -275,17 +275,17 @@ TEST(MimeType, ImproperlyQuotedParameter
|
|
|
+ nsAutoString out;
|
|
|
+ parsed->Serialize(out);
|
|
|
+ ASSERT_TRUE(out.EqualsLiteral("x/x;test=\"\\\\\"")) <<
|
|
|
+ "Improperly-quoted parameter is handled properly #2";
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST(MimeType, NonLatin1ParameterIgnored)
|
|
|
+ {
|
|
|
+- const auto in = NS_LITERAL_STRING("x/x;test=\xFFFD;x=x");
|
|
|
++ const auto in = NS_LITERAL_STRING(u"x/x;test=\xFFFD;x=x");
|
|
|
+ UniquePtr<MimeType> parsed = MimeType::Parse(in);
|
|
|
+ ASSERT_TRUE(parsed) << "Parsing succeeded";
|
|
|
+ nsAutoString out;
|
|
|
+ parsed->Serialize(out);
|
|
|
+ ASSERT_TRUE(out.EqualsLiteral("x/x;x=x")) <<
|
|
|
+ "Non latin-1 parameters are ignored";
|
|
|
+ }
|
|
|
+
|
|
|
+@@ -649,17 +649,17 @@ TEST(MimeType, LongParametersAccepted)
|
|
|
+ nsAutoString out;
|
|
|
+ parsed->Serialize(out);
|
|
|
+ ASSERT_TRUE(out.Equals(in)) <<
|
|
|
+ "Long parameters accepted";
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST(MimeType, AllValidCharactersAccepted1)
|
|
|
+ {
|
|
|
+- const auto in = NS_LITERAL_STRING("x/x;x=\"\t !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF\"");
|
|
|
++ const auto in = NS_LITERAL_STRING(u"x/x;x=\"\t !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF\"");
|
|
|
+ UniquePtr<MimeType> parsed = MimeType::Parse(in);
|
|
|
+ ASSERT_TRUE(parsed) << "Parsing succeeded";
|
|
|
+ nsAutoString out;
|
|
|
+ parsed->Serialize(out);
|
|
|
+ ASSERT_TRUE(out.Equals(in)) <<
|
|
|
+ "All valid characters accepted #1";
|
|
|
+ }
|
|
|
+
|
|
|
+
|