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

Unified Diff: third_party/WebKit/Source/platform/network/ParsedContentTypeTest.cpp

Issue 2880543003: Implement a parser for Content-Disposition header fields (Closed)
Patch Set: Rebase Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/platform/network/ParsedContentType.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/platform/network/ParsedContentTypeTest.cpp
diff --git a/third_party/WebKit/Source/platform/network/ParsedContentTypeTest.cpp b/third_party/WebKit/Source/platform/network/ParsedContentTypeTest.cpp
index 938bdad29d261b10cc7eea14e6eeda28f422835f..cfaa2c294444c3df71918b431fa19d74aacd3036 100644
--- a/third_party/WebKit/Source/platform/network/ParsedContentTypeTest.cpp
+++ b/third_party/WebKit/Source/platform/network/ParsedContentTypeTest.cpp
@@ -67,12 +67,10 @@ TEST(ParsedContentTypeTest, CaseInsensitiveCharset) {
TEST(ParsedContentTypeTest, Validity) {
EXPECT_TRUE(IsValid("text/plain"));
EXPECT_TRUE(IsValid("text/plain; charset=utf-8"));
+ EXPECT_TRUE(IsValid(" text/plain ;charset=utf-8 "));
EXPECT_TRUE(IsValid(" text/plain "));
- EXPECT_TRUE(IsValid(" text/plain;charset=utf-8 "));
EXPECT_TRUE(IsValid("unknown/unknown"));
EXPECT_TRUE(IsValid("unknown/unknown; charset=unknown"));
- EXPECT_TRUE(IsValid("x/y;z=\"ttx&r=z;;\\u\\\"kd==\""));
- EXPECT_TRUE(IsValid("x/y; z=\"\xff\""));
EXPECT_FALSE(IsValid("A"));
EXPECT_FALSE(IsValid("text/plain\r"));
@@ -83,61 +81,12 @@ TEST(ParsedContentTypeTest, Validity) {
EXPECT_FALSE(IsValid(" "));
EXPECT_FALSE(IsValid("\"x\""));
EXPECT_FALSE(IsValid("\"x\"/\"y\""));
+ EXPECT_FALSE(IsValid("\"x\"/y"));
EXPECT_FALSE(IsValid("x/\"y\""));
EXPECT_FALSE(IsValid("text/plain;"));
EXPECT_FALSE(IsValid("text/plain; "));
EXPECT_FALSE(IsValid("text/plain; charset"));
EXPECT_FALSE(IsValid("text/plain; charset;"));
- EXPECT_FALSE(IsValid("x/y;\"xx"));
- EXPECT_FALSE(IsValid("x/y;\"xx=y"));
- EXPECT_FALSE(IsValid("\"q\""));
- EXPECT_FALSE(IsValid("x/y; \"z\"=u"));
- EXPECT_FALSE(IsValid("x/y; z=\xff"));
-
- EXPECT_FALSE(IsValid("x/y;z=q/t:()<>@,:\\/[]?"));
- EXPECT_TRUE(IsValid("x/y;z=q/t:()<>@,:\\/[]?=", Mode::kRelaxed));
- EXPECT_FALSE(IsValid("x/y;z=q r", Mode::kRelaxed));
- EXPECT_FALSE(IsValid("x/y;z=q;r", Mode::kRelaxed));
- EXPECT_FALSE(IsValid("x/y;z=q\"r", Mode::kRelaxed));
- EXPECT_FALSE(IsValid("x/y; z=\xff", Mode::kRelaxed));
-}
-
-TEST(ParsedContentTypeTest, ParameterName) {
- String input = "x/t; y=z ; y= u ; t=r;k= \"t \\u\\\"x\" ;Q=U;T=S";
-
- ParsedContentType t(input);
-
- EXPECT_TRUE(t.IsValid());
- EXPECT_EQ(4u, t.ParameterCount());
- EXPECT_EQ(String(), t.ParameterValueForName("a"));
- EXPECT_EQ(String(), t.ParameterValueForName("x"));
- EXPECT_EQ("u", t.ParameterValueForName("y"));
- EXPECT_EQ("S", t.ParameterValueForName("t"));
- EXPECT_EQ("t u\"x", t.ParameterValueForName("k"));
- EXPECT_EQ("U", t.ParameterValueForName("Q"));
- EXPECT_EQ("S", t.ParameterValueForName("T"));
-
- String kelvin = String::FromUTF8("\xe2\x84\xaa");
- DCHECK_EQ(kelvin.DeprecatedLower(), "k");
- EXPECT_EQ(String(), t.ParameterValueForName(kelvin));
-}
-
-TEST(ParsedContentTypeTest, RelaxedParameterName) {
- String input = "x/t; z=q/t:()<>@,:\\/[]?=;y=u";
-
- ParsedContentType t(input, Mode::kRelaxed);
-
- EXPECT_TRUE(t.IsValid());
- EXPECT_EQ(2u, t.ParameterCount());
- EXPECT_EQ("q/t:()<>@,:\\/[]?=", t.ParameterValueForName("z"));
- EXPECT_EQ("u", t.ParameterValueForName("y"));
-}
-
-TEST(ParsedContentTypeTest, StrictParameterName) {
- EXPECT_TRUE(IsValid("text/plain", Mode::kStrict));
- EXPECT_TRUE(IsValid("text/plain; p1=a", Mode::kStrict));
- EXPECT_FALSE(IsValid("text/plain; p1=a; p1=b", Mode::kStrict));
- EXPECT_TRUE(IsValid("text/plain; p1=a; p2=b", Mode::kStrict));
}
} // namespace
« no previous file with comments | « third_party/WebKit/Source/platform/network/ParsedContentType.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698