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

Side by Side Diff: net/base/mime_util_unittest.cc

Issue 642403002: git cl format the first third of the net/base directory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nit Created 6 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/strings/string_split.h" 6 #include "base/strings/string_split.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "net/base/mime_util.h" 8 #include "net/base/mime_util.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
11 #if defined(OS_ANDROID) 11 #if defined(OS_ANDROID)
12 #include "base/android/build_info.h" 12 #include "base/android/build_info.h"
13 #endif 13 #endif
14 14
15 namespace net { 15 namespace net {
16 16
17 TEST(MimeUtilTest, ExtensionTest) { 17 TEST(MimeUtilTest, ExtensionTest) {
18 const struct { 18 const struct {
19 const base::FilePath::CharType* extension; 19 const base::FilePath::CharType* extension;
20 const char* mime_type; 20 const char* mime_type;
21 bool valid; 21 bool valid;
22 } tests[] = { 22 } tests[] = {
23 { FILE_PATH_LITERAL("png"), "image/png", true }, 23 {FILE_PATH_LITERAL("png"), "image/png", true},
24 { FILE_PATH_LITERAL("css"), "text/css", true }, 24 {FILE_PATH_LITERAL("css"), "text/css", true},
25 { FILE_PATH_LITERAL("pjp"), "image/jpeg", true }, 25 {FILE_PATH_LITERAL("pjp"), "image/jpeg", true},
26 { FILE_PATH_LITERAL("pjpeg"), "image/jpeg", true }, 26 {FILE_PATH_LITERAL("pjpeg"), "image/jpeg", true},
27 #if defined(OS_ANDROID) 27 #if defined(OS_ANDROID)
28 { FILE_PATH_LITERAL("m3u8"), "application/x-mpegurl", true }, 28 {FILE_PATH_LITERAL("m3u8"), "application/x-mpegurl", true},
29 #endif 29 #endif
30 { FILE_PATH_LITERAL("not an extension / for sure"), "", false }, 30 {FILE_PATH_LITERAL("not an extension / for sure"), "", false},
31 }; 31 };
32 32
33 std::string mime_type; 33 std::string mime_type;
34 bool rv; 34 bool rv;
35 35
36 for (size_t i = 0; i < arraysize(tests); ++i) { 36 for (size_t i = 0; i < arraysize(tests); ++i) {
37 rv = GetMimeTypeFromExtension(tests[i].extension, &mime_type); 37 rv = GetMimeTypeFromExtension(tests[i].extension, &mime_type);
38 EXPECT_EQ(tests[i].valid, rv); 38 EXPECT_EQ(tests[i].valid, rv);
39 if (rv) 39 if (rv)
40 EXPECT_EQ(tests[i].mime_type, mime_type); 40 EXPECT_EQ(tests[i].mime_type, mime_type);
41 } 41 }
42 } 42 }
43 43
44 TEST(MimeUtilTest, FileTest) { 44 TEST(MimeUtilTest, FileTest) {
45 const struct { 45 const struct {
46 const base::FilePath::CharType* file_path; 46 const base::FilePath::CharType* file_path;
47 const char* mime_type; 47 const char* mime_type;
48 bool valid; 48 bool valid;
49 } tests[] = { 49 } tests[] = {
50 { FILE_PATH_LITERAL("c:\\foo\\bar.css"), "text/css", true }, 50 {FILE_PATH_LITERAL("c:\\foo\\bar.css"), "text/css", true},
51 { FILE_PATH_LITERAL("c:\\blah"), "", false }, 51 {FILE_PATH_LITERAL("c:\\blah"), "", false},
52 { FILE_PATH_LITERAL("/usr/local/bin/mplayer"), "", false }, 52 {FILE_PATH_LITERAL("/usr/local/bin/mplayer"), "", false},
53 { FILE_PATH_LITERAL("/home/foo/bar.css"), "text/css", true }, 53 {FILE_PATH_LITERAL("/home/foo/bar.css"), "text/css", true},
54 { FILE_PATH_LITERAL("/blah."), "", false }, 54 {FILE_PATH_LITERAL("/blah."), "", false},
55 { FILE_PATH_LITERAL("c:\\blah."), "", false }, 55 {FILE_PATH_LITERAL("c:\\blah."), "", false},
56 }; 56 };
57 57
58 std::string mime_type; 58 std::string mime_type;
59 bool rv; 59 bool rv;
60 60
61 for (size_t i = 0; i < arraysize(tests); ++i) { 61 for (size_t i = 0; i < arraysize(tests); ++i) {
62 rv = GetMimeTypeFromFile(base::FilePath(tests[i].file_path), 62 rv = GetMimeTypeFromFile(base::FilePath(tests[i].file_path), &mime_type);
63 &mime_type);
64 EXPECT_EQ(tests[i].valid, rv); 63 EXPECT_EQ(tests[i].valid, rv);
65 if (rv) 64 if (rv)
66 EXPECT_EQ(tests[i].mime_type, mime_type); 65 EXPECT_EQ(tests[i].mime_type, mime_type);
67 } 66 }
68 } 67 }
69 68
70 TEST(MimeUtilTest, LookupTypes) { 69 TEST(MimeUtilTest, LookupTypes) {
71 EXPECT_FALSE(IsUnsupportedTextMimeType("text/banana")); 70 EXPECT_FALSE(IsUnsupportedTextMimeType("text/banana"));
72 EXPECT_TRUE(IsUnsupportedTextMimeType("text/vcard")); 71 EXPECT_TRUE(IsUnsupportedTextMimeType("text/vcard"));
73 72
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 EXPECT_FALSE(IsStrictMediaMimeType("audio/unknown")); 127 EXPECT_FALSE(IsStrictMediaMimeType("audio/unknown"));
129 EXPECT_FALSE(IsStrictMediaMimeType("application/unknown")); 128 EXPECT_FALSE(IsStrictMediaMimeType("application/unknown"));
130 EXPECT_FALSE(IsStrictMediaMimeType("unknown/unknown")); 129 EXPECT_FALSE(IsStrictMediaMimeType("unknown/unknown"));
131 } 130 }
132 131
133 TEST(MimeUtilTest, MatchesMimeType) { 132 TEST(MimeUtilTest, MatchesMimeType) {
134 EXPECT_TRUE(MatchesMimeType("*", "video/x-mpeg")); 133 EXPECT_TRUE(MatchesMimeType("*", "video/x-mpeg"));
135 EXPECT_TRUE(MatchesMimeType("video/*", "video/x-mpeg")); 134 EXPECT_TRUE(MatchesMimeType("video/*", "video/x-mpeg"));
136 EXPECT_TRUE(MatchesMimeType("video/*", "video/*")); 135 EXPECT_TRUE(MatchesMimeType("video/*", "video/*"));
137 EXPECT_TRUE(MatchesMimeType("video/x-mpeg", "video/x-mpeg")); 136 EXPECT_TRUE(MatchesMimeType("video/x-mpeg", "video/x-mpeg"));
138 EXPECT_TRUE(MatchesMimeType("application/*+xml", 137 EXPECT_TRUE(MatchesMimeType("application/*+xml", "application/html+xml"));
139 "application/html+xml"));
140 EXPECT_TRUE(MatchesMimeType("application/*+xml", "application/+xml")); 138 EXPECT_TRUE(MatchesMimeType("application/*+xml", "application/+xml"));
141 EXPECT_TRUE(MatchesMimeType("application/*+json", 139 EXPECT_TRUE(
142 "application/x-myformat+json")); 140 MatchesMimeType("application/*+json", "application/x-myformat+json"));
143 EXPECT_TRUE(MatchesMimeType("aaa*aaa", "aaaaaa")); 141 EXPECT_TRUE(MatchesMimeType("aaa*aaa", "aaaaaa"));
144 EXPECT_TRUE(MatchesMimeType("*", std::string())); 142 EXPECT_TRUE(MatchesMimeType("*", std::string()));
145 EXPECT_FALSE(MatchesMimeType("video/", "video/x-mpeg")); 143 EXPECT_FALSE(MatchesMimeType("video/", "video/x-mpeg"));
146 EXPECT_FALSE(MatchesMimeType(std::string(), "video/x-mpeg")); 144 EXPECT_FALSE(MatchesMimeType(std::string(), "video/x-mpeg"));
147 EXPECT_FALSE(MatchesMimeType(std::string(), std::string())); 145 EXPECT_FALSE(MatchesMimeType(std::string(), std::string()));
148 EXPECT_FALSE(MatchesMimeType("video/x-mpeg", std::string())); 146 EXPECT_FALSE(MatchesMimeType("video/x-mpeg", std::string()));
149 EXPECT_FALSE(MatchesMimeType("application/*+xml", "application/xml")); 147 EXPECT_FALSE(MatchesMimeType("application/*+xml", "application/xml"));
150 EXPECT_FALSE(MatchesMimeType("application/*+xml", 148 EXPECT_FALSE(MatchesMimeType("application/*+xml", "application/html+xmlz"));
151 "application/html+xmlz")); 149 EXPECT_FALSE(MatchesMimeType("application/*+xml", "applcation/html+xml"));
152 EXPECT_FALSE(MatchesMimeType("application/*+xml",
153 "applcation/html+xml"));
154 EXPECT_FALSE(MatchesMimeType("aaa*aaa", "aaaaa")); 150 EXPECT_FALSE(MatchesMimeType("aaa*aaa", "aaaaa"));
155 151
156 EXPECT_TRUE(MatchesMimeType("*", "video/x-mpeg;param=val")); 152 EXPECT_TRUE(MatchesMimeType("*", "video/x-mpeg;param=val"));
157 EXPECT_TRUE(MatchesMimeType("video/*", "video/x-mpeg;param=val")); 153 EXPECT_TRUE(MatchesMimeType("video/*", "video/x-mpeg;param=val"));
158 EXPECT_FALSE(MatchesMimeType("video/*;param=val", "video/mpeg")); 154 EXPECT_FALSE(MatchesMimeType("video/*;param=val", "video/mpeg"));
159 EXPECT_FALSE(MatchesMimeType("video/*;param=val", "video/mpeg;param=other")); 155 EXPECT_FALSE(MatchesMimeType("video/*;param=val", "video/mpeg;param=other"));
160 EXPECT_TRUE(MatchesMimeType("video/*;param=val", "video/mpeg;param=val")); 156 EXPECT_TRUE(MatchesMimeType("video/*;param=val", "video/mpeg;param=val"));
161 EXPECT_TRUE(MatchesMimeType("video/x-mpeg", "video/x-mpeg;param=val")); 157 EXPECT_TRUE(MatchesMimeType("video/x-mpeg", "video/x-mpeg;param=val"));
162 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param=val", 158 EXPECT_TRUE(
163 "video/x-mpeg;param=val")); 159 MatchesMimeType("video/x-mpeg;param=val", "video/x-mpeg;param=val"));
164 EXPECT_FALSE(MatchesMimeType("video/x-mpeg;param2=val2", 160 EXPECT_FALSE(
165 "video/x-mpeg;param=val")); 161 MatchesMimeType("video/x-mpeg;param2=val2", "video/x-mpeg;param=val"));
166 EXPECT_FALSE(MatchesMimeType("video/x-mpeg;param2=val2", 162 EXPECT_FALSE(
167 "video/x-mpeg;param2=val")); 163 MatchesMimeType("video/x-mpeg;param2=val2", "video/x-mpeg;param2=val"));
168 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param=val", 164 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param=val",
169 "video/x-mpeg;param=val;param2=val2")); 165 "video/x-mpeg;param=val;param2=val2"));
170 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param=val;param2=val2", 166 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param=val;param2=val2",
171 "video/x-mpeg;param=val;param2=val2")); 167 "video/x-mpeg;param=val;param2=val2"));
172 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param2=val2;param=val", 168 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param2=val2;param=val",
173 "video/x-mpeg;param=val;param2=val2")); 169 "video/x-mpeg;param=val;param2=val2"));
174 EXPECT_FALSE(MatchesMimeType("video/x-mpeg;param3=val3;param=val", 170 EXPECT_FALSE(MatchesMimeType("video/x-mpeg;param3=val3;param=val",
175 "video/x-mpeg;param=val;param2=val2")); 171 "video/x-mpeg;param=val;param2=val2"));
176 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param=val ;param2=val2 ", 172 EXPECT_TRUE(MatchesMimeType("video/x-mpeg;param=val ;param2=val2 ",
177 "video/x-mpeg;param=val;param2=val2")); 173 "video/x-mpeg;param=val;param2=val2"));
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 } 251 }
256 252
257 // Note: codecs should only be a list of 2 or fewer; hence the restriction of 253 // Note: codecs should only be a list of 2 or fewer; hence the restriction of
258 // results' length to 2. 254 // results' length to 2.
259 TEST(MimeUtilTest, ParseCodecString) { 255 TEST(MimeUtilTest, ParseCodecString) {
260 const struct { 256 const struct {
261 const char* original; 257 const char* original;
262 size_t expected_size; 258 size_t expected_size;
263 const char* results[2]; 259 const char* results[2];
264 } tests[] = { 260 } tests[] = {
265 { "\"bogus\"", 1, { "bogus" } }, 261 {"\"bogus\"", 1, {"bogus"}},
266 { "0", 1, { "0" } }, 262 {"0", 1, {"0"}},
267 { "avc1.42E01E, mp4a.40.2", 2, { "avc1", "mp4a" } }, 263 {"avc1.42E01E, mp4a.40.2", 2, {"avc1", "mp4a"}},
268 { "\"mp4v.20.240, mp4a.40.2\"", 2, { "mp4v", "mp4a" } }, 264 {"\"mp4v.20.240, mp4a.40.2\"", 2, {"mp4v", "mp4a"}},
269 { "mp4v.20.8, samr", 2, { "mp4v", "samr" } }, 265 {"mp4v.20.8, samr", 2, {"mp4v", "samr"}},
270 { "\"theora, vorbis\"", 2, { "theora", "vorbis" } }, 266 {"\"theora, vorbis\"", 2, {"theora", "vorbis"}},
271 { "", 0, { } }, 267 {"", 0, {}},
272 { "\"\"", 0, { } }, 268 {"\"\"", 0, {}},
273 { "\" \"", 0, { } }, 269 {"\" \"", 0, {}},
274 { ",", 2, { "", "" } }, 270 {",", 2, {"", ""}},
275 }; 271 };
276 272
277 for (size_t i = 0; i < arraysize(tests); ++i) { 273 for (size_t i = 0; i < arraysize(tests); ++i) {
278 std::vector<std::string> codecs_out; 274 std::vector<std::string> codecs_out;
279 ParseCodecString(tests[i].original, &codecs_out, true); 275 ParseCodecString(tests[i].original, &codecs_out, true);
280 ASSERT_EQ(tests[i].expected_size, codecs_out.size()); 276 ASSERT_EQ(tests[i].expected_size, codecs_out.size());
281 for (size_t j = 0; j < tests[i].expected_size; ++j) 277 for (size_t j = 0; j < tests[i].expected_size; ++j)
282 EXPECT_EQ(tests[i].results[j], codecs_out[j]); 278 EXPECT_EQ(tests[i].results[j], codecs_out[j]);
283 } 279 }
284 280
(...skipping 10 matching lines...) Expand all
295 EXPECT_TRUE(ParseMimeTypeWithoutParameter(nonAscii, NULL, NULL)); 291 EXPECT_TRUE(ParseMimeTypeWithoutParameter(nonAscii, NULL, NULL));
296 #if defined(OS_WIN) 292 #if defined(OS_WIN)
297 nonAscii.append(base::WideToUTF8(std::wstring(L"\u2603"))); 293 nonAscii.append(base::WideToUTF8(std::wstring(L"\u2603")));
298 #else 294 #else
299 nonAscii.append("\u2603"); // unicode snowman 295 nonAscii.append("\u2603"); // unicode snowman
300 #endif 296 #endif
301 EXPECT_FALSE(ParseMimeTypeWithoutParameter(nonAscii, NULL, NULL)); 297 EXPECT_FALSE(ParseMimeTypeWithoutParameter(nonAscii, NULL, NULL));
302 298
303 std::string top_level_type; 299 std::string top_level_type;
304 std::string subtype; 300 std::string subtype;
305 EXPECT_TRUE(ParseMimeTypeWithoutParameter( 301 EXPECT_TRUE(ParseMimeTypeWithoutParameter("application/mime", &top_level_type,
306 "application/mime", &top_level_type, &subtype)); 302 &subtype));
307 EXPECT_EQ("application", top_level_type); 303 EXPECT_EQ("application", top_level_type);
308 EXPECT_EQ("mime", subtype); 304 EXPECT_EQ("mime", subtype);
309 305
310 // Various allowed subtype forms. 306 // Various allowed subtype forms.
311 EXPECT_TRUE(ParseMimeTypeWithoutParameter("application/json", NULL, NULL)); 307 EXPECT_TRUE(ParseMimeTypeWithoutParameter("application/json", NULL, NULL));
312 EXPECT_TRUE(ParseMimeTypeWithoutParameter( 308 EXPECT_TRUE(ParseMimeTypeWithoutParameter("application/x-suggestions+json",
313 "application/x-suggestions+json", NULL, NULL)); 309 NULL, NULL));
314 EXPECT_TRUE(ParseMimeTypeWithoutParameter("application/+json", NULL, NULL)); 310 EXPECT_TRUE(ParseMimeTypeWithoutParameter("application/+json", NULL, NULL));
315 311
316 // Upper case letters are allowed. 312 // Upper case letters are allowed.
317 EXPECT_TRUE(ParseMimeTypeWithoutParameter("text/mime", NULL, NULL)); 313 EXPECT_TRUE(ParseMimeTypeWithoutParameter("text/mime", NULL, NULL));
318 EXPECT_TRUE(ParseMimeTypeWithoutParameter("TEXT/mime", NULL, NULL)); 314 EXPECT_TRUE(ParseMimeTypeWithoutParameter("TEXT/mime", NULL, NULL));
319 EXPECT_TRUE(ParseMimeTypeWithoutParameter("Text/mime", NULL, NULL)); 315 EXPECT_TRUE(ParseMimeTypeWithoutParameter("Text/mime", NULL, NULL));
320 EXPECT_TRUE(ParseMimeTypeWithoutParameter("TeXt/mime", NULL, NULL)); 316 EXPECT_TRUE(ParseMimeTypeWithoutParameter("TeXt/mime", NULL, NULL));
321 317
322 // Experimental types are also considered to be valid. 318 // Experimental types are also considered to be valid.
323 EXPECT_TRUE(ParseMimeTypeWithoutParameter("x-video/mime", NULL, NULL)); 319 EXPECT_TRUE(ParseMimeTypeWithoutParameter("x-video/mime", NULL, NULL));
324 EXPECT_TRUE(ParseMimeTypeWithoutParameter("X-Video/mime", NULL, NULL)); 320 EXPECT_TRUE(ParseMimeTypeWithoutParameter("X-Video/mime", NULL, NULL));
325 321
326 EXPECT_FALSE(ParseMimeTypeWithoutParameter("text", NULL, NULL)); 322 EXPECT_FALSE(ParseMimeTypeWithoutParameter("text", NULL, NULL));
327 EXPECT_FALSE(ParseMimeTypeWithoutParameter("text/", NULL, NULL)); 323 EXPECT_FALSE(ParseMimeTypeWithoutParameter("text/", NULL, NULL));
328 EXPECT_FALSE(ParseMimeTypeWithoutParameter("text/ ", NULL, NULL)); 324 EXPECT_FALSE(ParseMimeTypeWithoutParameter("text/ ", NULL, NULL));
329 EXPECT_FALSE(ParseMimeTypeWithoutParameter("te(xt/ ", NULL, NULL)); 325 EXPECT_FALSE(ParseMimeTypeWithoutParameter("te(xt/ ", NULL, NULL));
330 EXPECT_FALSE(ParseMimeTypeWithoutParameter("text/()plain", NULL, NULL)); 326 EXPECT_FALSE(ParseMimeTypeWithoutParameter("text/()plain", NULL, NULL));
331 327
332 EXPECT_FALSE(ParseMimeTypeWithoutParameter("x-video", NULL, NULL)); 328 EXPECT_FALSE(ParseMimeTypeWithoutParameter("x-video", NULL, NULL));
333 EXPECT_FALSE(ParseMimeTypeWithoutParameter("x-video/", NULL, NULL)); 329 EXPECT_FALSE(ParseMimeTypeWithoutParameter("x-video/", NULL, NULL));
334 330
335 EXPECT_FALSE(ParseMimeTypeWithoutParameter("application/a/b/c", NULL, NULL)); 331 EXPECT_FALSE(ParseMimeTypeWithoutParameter("application/a/b/c", NULL, NULL));
336 332
337 //EXPECT_TRUE(ParseMimeTypeWithoutParameter("video/mime;parameter")); 333 // EXPECT_TRUE(ParseMimeTypeWithoutParameter("video/mime;parameter"));
338 } 334 }
339 335
340 TEST(MimeUtilTest, TestIsValidTopLevelMimeType) { 336 TEST(MimeUtilTest, TestIsValidTopLevelMimeType) {
341 EXPECT_TRUE(IsValidTopLevelMimeType("application")); 337 EXPECT_TRUE(IsValidTopLevelMimeType("application"));
342 EXPECT_TRUE(IsValidTopLevelMimeType("audio")); 338 EXPECT_TRUE(IsValidTopLevelMimeType("audio"));
343 EXPECT_TRUE(IsValidTopLevelMimeType("example")); 339 EXPECT_TRUE(IsValidTopLevelMimeType("example"));
344 EXPECT_TRUE(IsValidTopLevelMimeType("image")); 340 EXPECT_TRUE(IsValidTopLevelMimeType("image"));
345 EXPECT_TRUE(IsValidTopLevelMimeType("message")); 341 EXPECT_TRUE(IsValidTopLevelMimeType("message"));
346 EXPECT_TRUE(IsValidTopLevelMimeType("model")); 342 EXPECT_TRUE(IsValidTopLevelMimeType("model"));
347 EXPECT_TRUE(IsValidTopLevelMimeType("multipart")); 343 EXPECT_TRUE(IsValidTopLevelMimeType("multipart"));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 EXPECT_EQ("text", GetIANAMediaType("text/plain")); 375 EXPECT_EQ("text", GetIANAMediaType("text/plain"));
380 EXPECT_EQ("video", GetIANAMediaType("video/H261")); 376 EXPECT_EQ("video", GetIANAMediaType("video/H261"));
381 } 377 }
382 378
383 TEST(MimeUtilTest, TestGetExtensionsForMimeType) { 379 TEST(MimeUtilTest, TestGetExtensionsForMimeType) {
384 const struct { 380 const struct {
385 const char* mime_type; 381 const char* mime_type;
386 size_t min_expected_size; 382 size_t min_expected_size;
387 const char* contained_result; 383 const char* contained_result;
388 } tests[] = { 384 } tests[] = {
389 { "text/plain", 2, "txt" }, 385 {"text/plain", 2, "txt"},
390 { "*", 0, NULL }, 386 {"*", 0, NULL},
391 { "message/*", 1, "eml" }, 387 {"message/*", 1, "eml"},
392 { "MeSsAge/*", 1, "eml" }, 388 {"MeSsAge/*", 1, "eml"},
393 { "image/bmp", 1, "bmp" }, 389 {"image/bmp", 1, "bmp"},
394 { "video/*", 6, "mp4" }, 390 {"video/*", 6, "mp4"},
395 #if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_IOS) 391 #if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_IOS)
396 { "video/*", 6, "mpg" }, 392 {"video/*", 6, "mpg"},
397 #else 393 #else
398 { "video/*", 6, "mpeg" }, 394 {"video/*", 6, "mpeg"},
399 #endif 395 #endif
400 { "audio/*", 6, "oga" }, 396 {"audio/*", 6, "oga"},
401 { "aUDIo/*", 6, "wav" }, 397 {"aUDIo/*", 6, "wav"},
402 }; 398 };
403 399
404 for (size_t i = 0; i < arraysize(tests); ++i) { 400 for (size_t i = 0; i < arraysize(tests); ++i) {
405 std::vector<base::FilePath::StringType> extensions; 401 std::vector<base::FilePath::StringType> extensions;
406 GetExtensionsForMimeType(tests[i].mime_type, &extensions); 402 GetExtensionsForMimeType(tests[i].mime_type, &extensions);
407 ASSERT_TRUE(tests[i].min_expected_size <= extensions.size()); 403 ASSERT_TRUE(tests[i].min_expected_size <= extensions.size());
408 404
409 if (!tests[i].contained_result) 405 if (!tests[i].contained_result)
410 continue; 406 continue;
411 407
(...skipping 25 matching lines...) Expand all
437 EXPECT_EQ(CERTIFICATE_MIME_TYPE_UNKNOWN, 433 EXPECT_EQ(CERTIFICATE_MIME_TYPE_UNKNOWN,
438 GetCertificateMimeTypeForMimeType("application/x-x509-ca-cert")); 434 GetCertificateMimeTypeForMimeType("application/x-x509-ca-cert"));
439 EXPECT_EQ(CERTIFICATE_MIME_TYPE_UNKNOWN, 435 EXPECT_EQ(CERTIFICATE_MIME_TYPE_UNKNOWN,
440 GetCertificateMimeTypeForMimeType("application/x-pkcs12")); 436 GetCertificateMimeTypeForMimeType("application/x-pkcs12"));
441 #endif 437 #endif
442 EXPECT_EQ(CERTIFICATE_MIME_TYPE_UNKNOWN, 438 EXPECT_EQ(CERTIFICATE_MIME_TYPE_UNKNOWN,
443 GetCertificateMimeTypeForMimeType("text/plain")); 439 GetCertificateMimeTypeForMimeType("text/plain"));
444 } 440 }
445 441
446 TEST(MimeUtilTest, TestAddMultipartValueForUpload) { 442 TEST(MimeUtilTest, TestAddMultipartValueForUpload) {
447 const char* ref_output = "--boundary\r\nContent-Disposition: form-data;" 443 const char* ref_output =
448 " name=\"value name\"\r\nContent-Type: content type" 444 "--boundary\r\nContent-Disposition: form-data;"
449 "\r\n\r\nvalue\r\n" 445 " name=\"value name\"\r\nContent-Type: content type"
450 "--boundary\r\nContent-Disposition: form-data;" 446 "\r\n\r\nvalue\r\n"
451 " name=\"value name\"\r\n\r\nvalue\r\n" 447 "--boundary\r\nContent-Disposition: form-data;"
452 "--boundary--\r\n"; 448 " name=\"value name\"\r\n\r\nvalue\r\n"
449 "--boundary--\r\n";
453 std::string post_data; 450 std::string post_data;
454 AddMultipartValueForUpload("value name", "value", "boundary", 451 AddMultipartValueForUpload("value name", "value", "boundary", "content type",
455 "content type", &post_data); 452 &post_data);
456 AddMultipartValueForUpload("value name", "value", "boundary", 453 AddMultipartValueForUpload("value name", "value", "boundary", "", &post_data);
457 "", &post_data);
458 AddMultipartFinalDelimiterForUpload("boundary", &post_data); 454 AddMultipartFinalDelimiterForUpload("boundary", &post_data);
459 EXPECT_STREQ(ref_output, post_data.c_str()); 455 EXPECT_STREQ(ref_output, post_data.c_str());
460 } 456 }
461 457
462 } // namespace net 458 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698