| Index: net/http/http_content_disposition_unittest.cc
|
| diff --git a/net/http/http_content_disposition_unittest.cc b/net/http/http_content_disposition_unittest.cc
|
| index ade0d2930f9ad71179610581ace728f4a46b60b8..d3e4c33571ec891024ac03dfcdffe1939bb63d6b 100644
|
| --- a/net/http/http_content_disposition_unittest.cc
|
| +++ b/net/http/http_content_disposition_unittest.cc
|
| @@ -23,9 +23,7 @@ TEST(HttpContentDispositionTest, Filename) {
|
| const FileNameCDCase tests[] = {
|
| // Test various forms of C-D header fields emitted by web servers.
|
| {"inline; filename=\"abcde.pdf\"", "", L"abcde.pdf"},
|
| - {"inline; name=\"abcde.pdf\"", "", L"abcde.pdf"},
|
| {"attachment; filename=abcde.pdf", "", L"abcde.pdf"},
|
| - {"attachment; name=abcde.pdf", "", L"abcde.pdf"},
|
| {"attachment; filename=abc,de.pdf", "", L"abc,de.pdf"},
|
| {"filename=abcde.pdf", "", L"abcde.pdf"},
|
| {"filename= abcde.pdf", "", L"abcde.pdf"},
|
| @@ -33,9 +31,12 @@ TEST(HttpContentDispositionTest, Filename) {
|
| {"filename = abcde.pdf", "", L"abcde.pdf"},
|
| {"filename\t=abcde.pdf", "", L"abcde.pdf"},
|
| {"filename \t\t =abcde.pdf", "", L"abcde.pdf"},
|
| - {"name=abcde.pdf", "", L"abcde.pdf"},
|
| {"inline; filename=\"abc%20de.pdf\"", "",
|
| L"abc de.pdf"},
|
| + // Name values are no longer synonyms for filename.
|
| + {"inline; name=\"abcde.pdf\"", "", L""},
|
| + {"attachment; name=abcde.pdf", "", L""},
|
| + {"name=abcde.pdf", "", L""},
|
| // Unbalanced quotation mark
|
| {"filename=\"abcdef.pdf", "", L"abcdef.pdf"},
|
| // Whitespaces are converted to a space.
|
| @@ -315,10 +316,11 @@ TEST(HttpContentDispositionTest, tc2231) {
|
| L"foo-A.html" // Should be L"foo-%41.html"
|
| },
|
| // http://greenbytes.de/tech/tc2231/#attwithnamepct
|
| + // Value is skipped like other UAs.
|
| {
|
| "attachment; name=\"foo-%41.html\"",
|
| HttpContentDisposition::ATTACHMENT,
|
| - L"foo-A.html" // Should be L"foo-%41.html"
|
| + L""
|
| },
|
| #ifdef ICU_SHOULD_FAIL_CONVERSION_ON_INVALID_CHARACTER
|
| // http://greenbytes.de/tech/tc2231/#attwithfilenamepctandiso
|
| @@ -479,12 +481,10 @@ TEST(HttpContentDispositionTest, ParseResult) {
|
| HttpContentDisposition::HAS_FILENAME },
|
| { "attachment; filename=x; name=y",
|
| HttpContentDisposition::HAS_DISPOSITION_TYPE |
|
| - HttpContentDisposition::HAS_FILENAME |
|
| - HttpContentDisposition::HAS_NAME },
|
| + HttpContentDisposition::HAS_FILENAME },
|
| { "attachment; name=y; filename*=utf-8''foo; name=x",
|
| HttpContentDisposition::HAS_DISPOSITION_TYPE |
|
| - HttpContentDisposition::HAS_EXT_FILENAME |
|
| - HttpContentDisposition::HAS_NAME },
|
| + HttpContentDisposition::HAS_EXT_FILENAME },
|
|
|
| // Feature tests for 'filename' attribute.
|
| { "filename=foo\xcc\x88",
|
| @@ -500,13 +500,13 @@ TEST(HttpContentDispositionTest, ParseResult) {
|
| HttpContentDisposition::HAS_FILENAME |
|
| HttpContentDisposition::HAS_RFC2047_ENCODED_STRINGS },
|
| { "filename==?utf-8?Q?foo?", HttpContentDisposition::INVALID },
|
| - { "name=foo\xcc\x88",
|
| - HttpContentDisposition::HAS_NAME },
|
| +
|
| + // Test 'name' isn't a synonym for 'filename'.
|
| + { "name=foo\xcc\x88", HttpContentDisposition::INVALID },
|
|
|
| // Shouldn't set |has_non_ascii_strings| based on 'name' attribute.
|
| { "filename=x; name=foo\xcc\x88",
|
| - HttpContentDisposition::HAS_FILENAME |
|
| - HttpContentDisposition::HAS_NAME },
|
| + HttpContentDisposition::HAS_FILENAME },
|
| { "filename=foo\xcc\x88 foo%cc%88 =?utf-8?Q?foo?=",
|
| HttpContentDisposition::HAS_FILENAME |
|
| HttpContentDisposition::HAS_NON_ASCII_STRINGS |
|
| @@ -517,7 +517,7 @@ TEST(HttpContentDispositionTest, ParseResult) {
|
| { "filename=foo\xcc\x88 foo%cc%88 =?utf-8?Q?foo?",
|
| HttpContentDisposition::INVALID },
|
| { "filename=foo\xcc\x88 foo%cc%88 =?utf-8?Q?foo?; name=x",
|
| - HttpContentDisposition::HAS_NAME },
|
| + HttpContentDisposition::INVALID },
|
| };
|
|
|
| for (size_t i = 0; i < arraysize(kTestCases); ++i) {
|
|
|