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

Side by Side Diff: Source/core/dom/DOMImplementationTest.cpp

Issue 122743002: MIME type predicates and case-insensitive matching. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Simplify check for empty +xml subtype Created 6 years, 11 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 unified diff | Download patch
« no previous file with comments | « Source/core/dom/DOMImplementation.cpp ('k') | Source/core/dom/ScriptLoader.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, Opera Software ASA. All rights reserved. 2 * Copyright (c) 2013, Opera Software ASA. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 23 matching lines...) Expand all
34 #include <gtest/gtest.h> 34 #include <gtest/gtest.h>
35 35
36 using namespace WebCore; 36 using namespace WebCore;
37 37
38 namespace { 38 namespace {
39 39
40 TEST(DOMImplementationTest, TextMIMEType) 40 TEST(DOMImplementationTest, TextMIMEType)
41 { 41 {
42 EXPECT_TRUE(DOMImplementation::isTextMIMEType("text/plain")); 42 EXPECT_TRUE(DOMImplementation::isTextMIMEType("text/plain"));
43 EXPECT_TRUE(DOMImplementation::isTextMIMEType("text/javascript")); 43 EXPECT_TRUE(DOMImplementation::isTextMIMEType("text/javascript"));
44 EXPECT_TRUE(DOMImplementation::isTextMIMEType("TEXT/JavaScript"));
44 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/json")); 45 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/json"));
46 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/jSON"));
47 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/json;foo=2"));
48 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/json "));
45 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/+json")); 49 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/+json"));
46 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/x-javascript-like +json;a=2;c=4")); 50 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/x-javascript-like +json;a=2;c=4"));
47 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/javascript")); 51 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/javascript"));
52 EXPECT_TRUE(DOMImplementation::isTextMIMEType("Application/Javascript"));
48 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/x-custom+json;b=3 ")); 53 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/x-custom+json;b=3 "));
49 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/x-custom+json")); 54 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/x-custom+json"));
50 // Outside of RFC-2045 grammar, but robustly accept/allow. 55 // Outside of RFC-2045 grammar, but robustly accept/allow.
51 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/x-what+json;")); 56 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/x-what+json;"));
52 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/json;")); 57 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/json;"));
53 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/json ")); 58 EXPECT_TRUE(DOMImplementation::isTextMIMEType("application/json "));
54 59
55 EXPECT_FALSE(DOMImplementation::isTextMIMEType("application/x-custom;a=a+jso n")); 60 EXPECT_FALSE(DOMImplementation::isTextMIMEType("application/x-custom;a=a+jso n"));
56 EXPECT_FALSE(DOMImplementation::isTextMIMEType("application/x-custom;a=a+jso n ;")); 61 EXPECT_FALSE(DOMImplementation::isTextMIMEType("application/x-custom;a=a+jso n ;"));
57 EXPECT_FALSE(DOMImplementation::isTextMIMEType("application/x-custom+jsonsou p")); 62 EXPECT_FALSE(DOMImplementation::isTextMIMEType("application/x-custom+jsonsou p"));
58 EXPECT_FALSE(DOMImplementation::isTextMIMEType("application/x-custom+jsonsou p ")); 63 EXPECT_FALSE(DOMImplementation::isTextMIMEType("application/x-custom+jsonsou p "));
59 EXPECT_FALSE(DOMImplementation::isTextMIMEType("text/html")); 64 EXPECT_FALSE(DOMImplementation::isTextMIMEType("text/html"));
60 EXPECT_FALSE(DOMImplementation::isTextMIMEType("text/xml")); 65 EXPECT_FALSE(DOMImplementation::isTextMIMEType("text/xml"));
61 EXPECT_FALSE(DOMImplementation::isTextMIMEType("text/xsl")); 66 EXPECT_FALSE(DOMImplementation::isTextMIMEType("text/xsl"));
62 } 67 }
63 68
69 TEST(DOMImplementationTest, TextXMLType)
70 {
71 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("text/xml"));
72 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("Text/xml"));
73 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("tEXt/XML"));
74 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("application/xml"));
75 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("application/XML"));
76 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("application/x-tra+xML"));
77 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("application/xslt+xml"));
78 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("application/rdf+Xml"));
79 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("image/svg+xml"));
80 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("text/xsl"));
81 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("text/XSL"));
82 EXPECT_TRUE(DOMImplementation::isXMLMIMEType("application/x+xml"));
83
84 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/x-custom;a=a+xml" ));
85 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/x-custom;a=a+xml ;"));
86 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/x-custom+xml2"));
87 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/x-custom+xml2 ") );
88 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/x-custom+exml"));
89 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("text/html"));
90 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/xml;"));
91 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/xml "));
92 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/x-what+xml;"));
93 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/x-tra+xML;a=2"));
94 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/+xML"));
95 EXPECT_FALSE(DOMImplementation::isXMLMIMEType("application/+xml"));
64 } 96 }
97
98 }
OLDNEW
« no previous file with comments | « Source/core/dom/DOMImplementation.cpp ('k') | Source/core/dom/ScriptLoader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698