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

Unified Diff: third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp

Issue 2410693002: Add a few more edge cases to CSS serialization test. (Closed)
Patch Set: Adds image link to data URL CSS contents. Created 4 years, 2 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
Index: third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp b/third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp
index ed5a1335ce325f48e202737bed9fac3eb0d07d91..37199c58ed05d222faa1e9b31a04970a03accbb4 100644
--- a/third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp
+++ b/third_party/WebKit/Source/web/tests/FrameSerializerTest.cpp
@@ -79,9 +79,13 @@ class FrameSerializerTest : public testing::Test,
void setRewriteURLFolder(const char* folder) { m_rewriteFolder = folder; }
+ void registerURL(const KURL& url, const char* file, const char* mimeType) {
+ registerMockedURLLoad(url, WebString::fromUTF8(file), m_folder,
+ WebString::fromUTF8(mimeType));
+ }
+
void registerURL(const char* url, const char* file, const char* mimeType) {
- registerMockedURLLoad(KURL(m_baseUrl, url), WebString::fromUTF8(file),
- m_folder, WebString::fromUTF8(mimeType));
+ registerURL(KURL(m_baseUrl, url), file, mimeType);
}
void registerURL(const char* file, const char* mimeType) {
@@ -105,6 +109,10 @@ class FrameSerializerTest : public testing::Test,
m_rewriteURLs.add(fromURL, toURL);
}
+ void registerSkipURL(const char* url) {
+ m_skipURLs.append(KURL(m_baseUrl, url));
+ }
+
void serialize(const char* url) {
FrameTestHelpers::loadFrame(m_helper.webView()->mainFrame(),
KURL(m_baseUrl, url).getString().utf8().data());
@@ -119,9 +127,7 @@ class FrameSerializerTest : public testing::Test,
Vector<SerializedResource>& getResources() { return m_resources; }
- const SerializedResource* getResource(const char* urlString,
- const char* mimeType) {
- const KURL url(m_baseUrl, urlString);
+ const SerializedResource* getResource(const KURL& url, const char* mimeType) {
String mime(mimeType);
for (size_t i = 0; i < m_resources.size(); ++i) {
const SerializedResource& resource = m_resources[i];
@@ -132,6 +138,12 @@ class FrameSerializerTest : public testing::Test,
return nullptr;
}
+ const SerializedResource* getResource(const char* urlString,
+ const char* mimeType) {
+ const KURL url(m_baseUrl, urlString);
+ return getResource(url, mimeType);
+ }
+
bool isSerialized(const char* url, const char* mimeType = 0) {
return getResource(url, mimeType);
}
@@ -171,11 +183,16 @@ class FrameSerializerTest : public testing::Test,
return true;
}
+ bool shouldSkipResourceWithURL(const KURL& url) {
+ return m_skipURLs.contains(url);
+ }
+
FrameTestHelpers::WebViewHelper m_helper;
WebString m_folder;
KURL m_baseUrl;
Vector<SerializedResource> m_resources;
HashMap<String, String> m_rewriteURLs;
+ Vector<String> m_skipURLs;
String m_rewriteFolder;
};
@@ -336,11 +353,19 @@ TEST_F(FrameSerializerTest, CSS) {
registerURL("ul-dot.png", "image.png", "image/png");
registerURL("ol-dot.png", "image.png", "image/png");
+ const KURL imageUrlFromDataUrl(toKURL("http://www.dataurl.com"),
+ "fuchsia_background.png");
+ registerURL(imageUrlFromDataUrl, "image.png", "image/png");
+
+ registerURL("included_in_another_frame.css", "text/css");
+ registerSkipURL("included_in_another_frame.css");
+
serialize("css_test_page.html");
- EXPECT_EQ(15U, getResources().size());
+ EXPECT_EQ(16U, getResources().size());
EXPECT_FALSE(isSerialized("do_not_serialize.png", "image/png"));
+ EXPECT_FALSE(isSerialized("included_in_another_frame.css", "text/css"));
EXPECT_TRUE(isSerialized("css_test_page.html", "text/html"));
EXPECT_TRUE(isSerialized("link_styles.css", "text/css"));
@@ -358,6 +383,8 @@ TEST_F(FrameSerializerTest, CSS) {
EXPECT_TRUE(isSerialized("ul-dot.png", "image/png"));
EXPECT_TRUE(isSerialized("ol-dot.png", "image/png"));
+ EXPECT_TRUE(getResource(imageUrlFromDataUrl, "image/png"));
+
// Ensure encodings are specified.
EXPECT_TRUE(
getSerializedData("link_styles.css", "text/css").startsWith("@charset"));

Powered by Google App Engine
This is Rietveld 408576698