| Index: trunk/Source/web/tests/PageSerializerTest.cpp
|
| ===================================================================
|
| --- trunk/Source/web/tests/PageSerializerTest.cpp (revision 162155)
|
| +++ trunk/Source/web/tests/PageSerializerTest.cpp (working copy)
|
| @@ -105,19 +105,9 @@
|
| m_folder = WebString::fromUTF8(folder);
|
| }
|
|
|
| - void setRewriteURLFolder(const char* folder)
|
| - {
|
| - m_rewriteFolder = folder;
|
| - }
|
| -
|
| - void registerURL(const char* url, const char* file, const char* mimeType)
|
| - {
|
| - registerMockedURLLoad(KURL(m_baseUrl, url), WebString::fromUTF8(file), m_folder, WebString::fromUTF8(mimeType));
|
| - }
|
| -
|
| void registerURL(const char* file, const char* mimeType)
|
| {
|
| - registerURL(file, file, mimeType);
|
| + registerMockedURLLoad(KURL(m_baseUrl, file), WebString::fromUTF8(file), m_folder, WebString::fromUTF8(mimeType));
|
| }
|
|
|
| void registerErrorURL(const char* file, int statusCode)
|
| @@ -134,11 +124,6 @@
|
| Platform::current()->unitTestSupport()->registerMockedErrorURL(KURL(m_baseUrl, file), response, error);
|
| }
|
|
|
| - void registerRewriteURL(const char* fromURL, const char* toURL)
|
| - {
|
| - m_rewriteURLs.add(fromURL, toURL);
|
| - }
|
| -
|
| void serialize(const char* url)
|
| {
|
| WebURLRequest urlRequest;
|
| @@ -152,8 +137,7 @@
|
| // Server the delayed resources.
|
| Platform::current()->unitTestSupport()->serveAsynchronousMockedRequests();
|
|
|
| - PageSerializer serializer(&m_resources,
|
| - m_rewriteURLs.isEmpty() ? 0: &m_rewriteURLs, m_rewriteFolder);
|
| + PageSerializer serializer(&m_resources);
|
| serializer.serialize(m_webViewImpl->mainFrameImpl()->frame()->page());
|
| }
|
|
|
| @@ -189,16 +173,6 @@
|
| return String();
|
| }
|
|
|
| - // For debugging
|
| - void printResources()
|
| - {
|
| - printf("Printing resources (%zu resources in total)\n", m_resources.size());
|
| - for (size_t i = 0; i < m_resources.size(); ++i) {
|
| - printf("%zu. '%s', '%s'\n", i, m_resources[i].url.string().utf8().data(),
|
| - m_resources[i].mimeType.utf8().data());
|
| - }
|
| - }
|
| -
|
| WebViewImpl* m_webViewImpl;
|
|
|
| private:
|
| @@ -207,170 +181,26 @@
|
| WebString m_folder;
|
| KURL m_baseUrl;
|
| Vector<SerializedResource> m_resources;
|
| - LinkLocalPathMap m_rewriteURLs;
|
| - String m_rewriteFolder;
|
| };
|
|
|
| -TEST_F(PageSerializerTest, HTMLElements)
|
| -{
|
| - setBaseFolder("pageserializer/elements/");
|
|
|
| - registerURL("elements.html", "text/html");
|
| - registerURL("style.css", "style.css", "text/css");
|
| - registerURL("copyright.html", "text.txt", "text/html");
|
| - registerURL("script.js", "text.txt", "text/javascript");
|
| -
|
| - registerURL("bodyBackground.png", "image.png", "image/png");
|
| -
|
| - registerURL("imageSrc.png", "image.png", "image/png");
|
| -
|
| - registerURL("inputImage.png", "image.png", "image/png");
|
| -
|
| - registerURL("tableBackground.png", "image.png", "image/png");
|
| - registerURL("trBackground.png", "image.png", "image/png");
|
| - registerURL("tdBackground.png", "image.png", "image/png");
|
| -
|
| - registerURL("blockquoteCite.html", "text.txt", "text/html");
|
| - registerURL("qCite.html", "text.txt", "text/html");
|
| - registerURL("delCite.html", "text.txt", "text/html");
|
| - registerURL("insCite.html", "text.txt", "text/html");
|
| -
|
| - registerErrorURL("nonExisting.png", 404);
|
| -
|
| - serialize("elements.html");
|
| -
|
| - EXPECT_EQ(8U, getResources().size());
|
| -
|
| - EXPECT_TRUE(isSerialized("elements.html", "text/html"));
|
| - EXPECT_TRUE(isSerialized("style.css", "text/css"));
|
| - EXPECT_TRUE(isSerialized("bodyBackground.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("imageSrc.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("inputImage.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("tableBackground.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("trBackground.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("tdBackground.png", "image/png"));
|
| - EXPECT_FALSE(isSerialized("nonExisting.png", "image/png"));
|
| -}
|
| -
|
| -TEST_F(PageSerializerTest, Frames)
|
| +TEST_F(PageSerializerTest, InputImage)
|
| {
|
| - setBaseFolder("pageserializer/frames/");
|
| + setBaseFolder("pageserializer/input-image/");
|
|
|
| - registerURL("simple_frames.html", "text/html");
|
| - registerURL("simple_frames_top.html", "text/html");
|
| - registerURL("simple_frames_1.html", "text/html");
|
| - registerURL("simple_frames_3.html", "text/html");
|
| + registerURL("input-image.html", "text/html");
|
| + registerURL("button.png", "image/png");
|
| + registerErrorURL("non-existing-button.png", 404);
|
|
|
| - registerURL("frame_1.png", "image.png", "image/png");
|
| - registerURL("frame_2.png", "image.png", "image/png");
|
| - registerURL("frame_3.png", "image.png", "image/png");
|
| - registerURL("frame_4.png", "image.png", "image/png");
|
| + serialize("input-image.html");
|
|
|
| - serialize("simple_frames.html");
|
| -
|
| - EXPECT_EQ(8U, getResources().size());
|
| -
|
| - EXPECT_TRUE(isSerialized("simple_frames.html", "text/html"));
|
| - EXPECT_TRUE(isSerialized("simple_frames_top.html", "text/html"));
|
| - EXPECT_TRUE(isSerialized("simple_frames_1.html", "text/html"));
|
| - EXPECT_TRUE(isSerialized("simple_frames_3.html", "text/html"));
|
| -
|
| - EXPECT_TRUE(isSerialized("frame_1.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("frame_2.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("frame_3.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("frame_4.png", "image/png"));
|
| + EXPECT_TRUE(isSerialized("button.png", "image/png"));
|
| + EXPECT_FALSE(isSerialized("non-existing-button.png", "image/png"));
|
| }
|
|
|
| -TEST_F(PageSerializerTest, IFrames)
|
| -{
|
| - setBaseFolder("pageserializer/frames/");
|
| -
|
| - registerURL("top_frame.html", "text/html");
|
| - registerURL("simple_iframe.html", "text/html");
|
| - registerURL("object_iframe.html", "text/html");
|
| - registerURL("embed_iframe.html", "text/html");
|
| -
|
| - registerURL("top.png", "image.png", "image/png");
|
| - registerURL("simple.png", "image.png", "image/png");
|
| - registerURL("object.png", "image.png", "image/png");
|
| - registerURL("embed.png", "image.png", "image/png");
|
| -
|
| - serialize("top_frame.html");
|
| -
|
| - EXPECT_EQ(8U, getResources().size());
|
| -
|
| - EXPECT_TRUE(isSerialized("top_frame.html", "text/html"));
|
| - EXPECT_TRUE(isSerialized("simple_iframe.html", "text/html"));
|
| - EXPECT_TRUE(isSerialized("object_iframe.html", "text/html"));
|
| - EXPECT_TRUE(isSerialized("embed_iframe.html", "text/html"));
|
| -
|
| - EXPECT_TRUE(isSerialized("top.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("simple.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("object.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("embed.png", "image/png"));
|
| -}
|
| -
|
| -// Tests that when serializing a page with blank frames these are reported with their resources.
|
| -TEST_F(PageSerializerTest, BlankFrames)
|
| -{
|
| - setBaseFolder("pageserializer/frames/");
|
| -
|
| - registerURL("blank_frames.html", "text/html");
|
| - registerURL("red_background.png", "image.png", "image/png");
|
| - registerURL("orange_background.png", "image.png", "image/png");
|
| - registerURL("blue_background.png", "image.png", "image/png");
|
| -
|
| - serialize("blank_frames.html");
|
| -
|
| - EXPECT_EQ(7U, getResources().size());
|
| -
|
| - EXPECT_TRUE(isSerialized("http://www.test.com/red_background.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("http://www.test.com/orange_background.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("http://www.test.com/blue_background.png", "image/png"));
|
| - // The blank frames should have got a magic URL.
|
| - EXPECT_TRUE(isSerialized("wyciwyg://frame/0", "text/html"));
|
| - EXPECT_TRUE(isSerialized("wyciwyg://frame/1", "text/html"));
|
| - EXPECT_TRUE(isSerialized("wyciwyg://frame/2", "text/html"));
|
| -}
|
| -
|
| -TEST_F(PageSerializerTest, CSS)
|
| -{
|
| - setBaseFolder("pageserializer/css/");
|
| -
|
| - registerURL("css_test_page.html", "text/html");
|
| - registerURL("link_styles.css", "text/css");
|
| - registerURL("import_style_from_link.css", "text/css");
|
| - registerURL("import_styles.css", "text/css");
|
| - registerURL("red_background.png", "image.png", "image/png");
|
| - registerURL("orange_background.png", "image.png", "image/png");
|
| - registerURL("yellow_background.png", "image.png", "image/png");
|
| - registerURL("green_background.png", "image.png", "image/png");
|
| - registerURL("blue_background.png", "image.png", "image/png");
|
| - registerURL("purple_background.png", "image.png", "image/png");
|
| - registerURL("ul-dot.png", "image.png", "image/png");
|
| - registerURL("ol-dot.png", "image.png", "image/png");
|
| -
|
| - serialize("css_test_page.html");
|
| -
|
| - EXPECT_EQ(12U, getResources().size());
|
| -
|
| - EXPECT_TRUE(isSerialized("css_test_page.html", "text/html"));
|
| - EXPECT_TRUE(isSerialized("link_styles.css", "text/css"));
|
| - EXPECT_TRUE(isSerialized("import_styles.css", "text/css"));
|
| - EXPECT_TRUE(isSerialized("import_style_from_link.css", "text/css"));
|
| - EXPECT_TRUE(isSerialized("red_background.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("orange_background.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("yellow_background.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("green_background.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("blue_background.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("purple_background.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("ul-dot.png", "image/png"));
|
| - EXPECT_TRUE(isSerialized("ol-dot.png", "image/png"));
|
| -}
|
| -
|
| TEST_F(PageSerializerTest, XMLDeclaration)
|
| {
|
| - setBaseFolder("pageserializer/xml/");
|
| + setBaseFolder("pageserializer/xmldecl/");
|
|
|
| registerURL("xmldecl.xml", "text/xml");
|
| serialize("xmldecl.xml");
|
| @@ -383,11 +213,11 @@
|
| {
|
| setBaseFolder("pageserializer/dtd/");
|
|
|
| - registerURL("html5.html", "text/html");
|
| - serialize("html5.html");
|
| + registerURL("dtd.html", "text/html");
|
| + serialize("dtd.html");
|
|
|
| String expectedStart("<!DOCTYPE html>");
|
| - EXPECT_TRUE(getSerializedData("html5.html").startsWith(expectedStart));
|
| + EXPECT_TRUE(getSerializedData("dtd.html").startsWith(expectedStart));
|
| }
|
|
|
| TEST_F(PageSerializerTest, Font)
|
| @@ -402,96 +232,4 @@
|
| EXPECT_TRUE(isSerialized("font.ttf", "application/octet-stream"));
|
| }
|
|
|
| -TEST_F(PageSerializerTest, DataURI)
|
| -{
|
| - setBaseFolder("pageserializer/datauri/");
|
| -
|
| - registerURL("page_with_data.html", "text/html");
|
| -
|
| - serialize("page_with_data.html");
|
| -
|
| - EXPECT_EQ(1U, getResources().size());
|
| - EXPECT_TRUE(isSerialized("page_with_data.html", "text/html"));
|
| }
|
| -
|
| -TEST_F(PageSerializerTest, DataURIMorphing)
|
| -{
|
| - setBaseFolder("pageserializer/datauri/");
|
| -
|
| - registerURL("page_with_morphing_data.html", "text/html");
|
| -
|
| - serialize("page_with_morphing_data.html");
|
| -
|
| - EXPECT_EQ(2U, getResources().size());
|
| - EXPECT_TRUE(isSerialized("page_with_morphing_data.html", "text/html"));
|
| -}
|
| -
|
| -TEST_F(PageSerializerTest, RewriteLinksSimple)
|
| -{
|
| - setBaseFolder("pageserializer/rewritelinks/");
|
| - setRewriteURLFolder("folder");
|
| -
|
| - registerURL("rewritelinks_simple.html", "text/html");
|
| - registerURL("absolute.png", "image.png", "image/png");
|
| - registerURL("relative.png", "image.png", "image/png");
|
| - registerRewriteURL("http://www.test.com/absolute.png", "a.png");
|
| - registerRewriteURL("http://www.test.com/relative.png", "b.png");
|
| -
|
| - serialize("rewritelinks_simple.html");
|
| -
|
| - EXPECT_EQ(3U, getResources().size());
|
| - EXPECT_NE(getSerializedData("rewritelinks_simple.html", "text/html").find("./folder/a.png"), kNotFound);
|
| - EXPECT_NE(getSerializedData("rewritelinks_simple.html", "text/html").find("./folder/b.png"), kNotFound);
|
| -}
|
| -
|
| -TEST_F(PageSerializerTest, RewriteLinksBase)
|
| -{
|
| - setBaseFolder("pageserializer/rewritelinks/");
|
| - setRewriteURLFolder("folder");
|
| -
|
| - registerURL("rewritelinks_base.html", "text/html");
|
| - registerURL("images/here/image.png", "image.png", "image/png");
|
| - registerURL("images/here/or/in/here/image.png", "image.png", "image/png");
|
| - registerURL("or/absolute.png", "image.png", "image/png");
|
| - registerRewriteURL("http://www.test.com/images/here/image.png", "a.png");
|
| - registerRewriteURL("http://www.test.com/images/here/or/in/here/image.png", "b.png");
|
| - registerRewriteURL("http://www.test.com/or/absolute.png", "c.png");
|
| -
|
| - serialize("rewritelinks_base.html");
|
| -
|
| - EXPECT_EQ(4U, getResources().size());
|
| - EXPECT_NE(getSerializedData("rewritelinks_base.html", "text/html").find("./folder/a.png"), kNotFound);
|
| - EXPECT_NE(getSerializedData("rewritelinks_base.html", "text/html").find("./folder/b.png"), kNotFound);
|
| - EXPECT_NE(getSerializedData("rewritelinks_base.html", "text/html").find("./folder/c.png"), kNotFound);
|
| -}
|
| -
|
| -// Test that we don't regress https://bugs.webkit.org/show_bug.cgi?id=99105
|
| -TEST_F(PageSerializerTest, SVGImageDontCrash)
|
| -{
|
| - setBaseFolder("pageserializer/svg/");
|
| -
|
| - registerURL("page_with_svg_image.html", "text/html");
|
| - registerURL("green_rectangle.svg", "image/svg+xml");
|
| -
|
| - serialize("page_with_svg_image.html");
|
| -
|
| - EXPECT_EQ(2U, getResources().size());
|
| -
|
| - EXPECT_TRUE(isSerialized("green_rectangle.svg", "image/svg+xml"));
|
| - EXPECT_GT(getSerializedData("green_rectangle.svg", "image/svg+xml").length(), 250U);
|
| -}
|
| -
|
| -TEST_F(PageSerializerTest, NamespaceElementsDontCrash)
|
| -{
|
| - setBaseFolder("pageserializer/namespace/");
|
| -
|
| - registerURL("namespace_element.html", "text/html");
|
| -
|
| - serialize("namespace_element.html");
|
| -
|
| - EXPECT_EQ(1U, getResources().size());
|
| - EXPECT_TRUE(isSerialized("namespace_element.html", "text/html"));
|
| - EXPECT_GT(getSerializedData("namespace_element.html", "text/html").length(), 0U);
|
| -}
|
| -
|
| -}
|
|
|