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

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

Issue 2858873007: Split WebFrameSerializerSanitizationTest into its own file. (Closed)
Patch Set: Rebase. Created 3 years, 7 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/WebFrameSerializerSanitizationTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameSerializerSanitizationTest.cpp
similarity index 77%
copy from third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
copy to third_party/WebKit/Source/web/tests/WebFrameSerializerSanitizationTest.cpp
index e4e4606f31fec1ac9c406a9fcf1827353ee5e9c5..5b0ab1dc8e62ce361d0970ba5e05e78b31885a49 100644
--- a/third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebFrameSerializerSanitizationTest.cpp
@@ -39,12 +39,9 @@
#include "platform/weborigin/KURL.h"
#include "platform/wtf/text/StringBuilder.h"
#include "public/platform/Platform.h"
-#include "public/platform/WebCString.h"
-#include "public/platform/WebCache.h"
#include "public/platform/WebString.h"
#include "public/platform/WebURL.h"
#include "public/platform/WebURLLoaderMockFactory.h"
-#include "public/web/WebFrameSerializerClient.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "web/WebLocalFrameImpl.h"
#include "web/tests/FrameTestHelpers.h"
@@ -52,18 +49,6 @@
namespace blink {
namespace {
-class SimpleWebFrameSerializerClient final : public WebFrameSerializerClient {
- public:
- String ToString() { return builder_.ToString(); }
-
- private:
- void DidSerializeDataForFrame(const WebCString& data,
- FrameSerializationStatus) final {
- builder_.Append(data.Data(), data.length());
- }
-
- StringBuilder builder_;
-};
class SimpleMHTMLPartsGenerationDelegate
: public WebFrameSerializer::MHTMLPartsGenerationDelegate {
@@ -105,122 +90,16 @@ int MatchSubstring(const String& str, const char* pattern, size_t size) {
} // namespace
-class WebFrameSerializerTest : public ::testing::Test {
+class WebFrameSerializerSanitizationTest : public ::testing::Test {
protected:
- WebFrameSerializerTest() { helper_.Initialize(); }
+ WebFrameSerializerSanitizationTest() { helper_.Initialize(); }
- ~WebFrameSerializerTest() override {
+ ~WebFrameSerializerSanitizationTest() override {
Platform::Current()
->GetURLLoaderMockFactory()
->UnregisterAllURLsAndClearMemoryCache();
}
- void RegisterMockedImageURLLoad(const String& url) {
- // Image resources need to be mocked, but irrelevant here what image they
- // map to.
- RegisterMockedFileURLLoad(URLTestHelpers::ToKURL(url.Utf8().data()),
- "frameserialization/awesome.png");
- }
- void RegisterMockedFileURLLoad(const KURL& url,
- const String& file_path,
- const String& mime_type = "image/png") {
- URLTestHelpers::RegisterMockedURLLoad(
- url, testing::WebTestDataPath(file_path.Utf8().data()), mime_type);
- }
-
- class SingleLinkRewritingDelegate
- : public WebFrameSerializer::LinkRewritingDelegate {
- public:
- SingleLinkRewritingDelegate(const WebURL& url, const WebString& local_path)
- : url_(url), local_path_(local_path) {}
-
- bool RewriteFrameSource(WebFrame* frame,
- WebString* rewritten_link) override {
- return false;
- }
-
- bool RewriteLink(const WebURL& url, WebString* rewritten_link) override {
- if (url != url_)
- return false;
-
- *rewritten_link = local_path_;
- return true;
- }
-
- private:
- const WebURL url_;
- const WebString local_path_;
- };
-
- String SerializeFile(const String& url, const String& file_name) {
- KURL parsed_url(kParsedURLString, url);
- String file_path("frameserialization/" + file_name);
- RegisterMockedFileURLLoad(parsed_url, file_path, "text/html");
- FrameTestHelpers::LoadFrame(MainFrameImpl(), url.Utf8().data());
- SingleLinkRewritingDelegate delegate(parsed_url, WebString("local"));
- SimpleWebFrameSerializerClient serializer_client;
- WebFrameSerializer::Serialize(MainFrameImpl(), &serializer_client,
- &delegate);
- return serializer_client.ToString();
- }
-
- WebViewBase* WebView() { return helper_.WebView(); }
-
- WebLocalFrameImpl* MainFrameImpl() {
- return helper_.WebView()->MainFrameImpl();
- }
-
- private:
- FrameTestHelpers::WebViewHelper helper_;
-};
-
-TEST_F(WebFrameSerializerTest, URLAttributeValues) {
- RegisterMockedImageURLLoad("javascript:\"");
-
- const char* expected_html =
- "\n<!-- saved from url=(0020)http://www.test.com/ -->\n"
- "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; "
- "charset=UTF-8\">\n"
- "</head><body><img src=\"javascript:&quot;\">\n"
- "<a href=\"http://www.test.com/local#&quot;\">local</a>\n"
- "<a "
- "href=\"http://www.example.com/#&quot;&gt;&lt;script&gt;alert(0)&lt;/"
- "script&gt;\">external</a>\n"
- "</body></html>";
- String actual_html =
- SerializeFile("http://www.test.com", "url_attribute_values.html");
- EXPECT_EQ(expected_html, actual_html);
-}
-
-TEST_F(WebFrameSerializerTest, EncodingAndNormalization) {
- const char* expected_html =
- "<!DOCTYPE html>\n"
- "<!-- saved from url=(0020)http://www.test.com/ -->\n"
- "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; "
- "charset=EUC-KR\">\n"
- "<title>Ensure NFC normalization is not performed by frame "
- "serializer</title>\n"
- "</head><body>\n"
- "\xe4\xc5\xd1\xe2\n"
- "\n</body></html>";
- String actual_html =
- SerializeFile("http://www.test.com", "encoding_normalization.html");
- EXPECT_EQ(expected_html, actual_html);
-}
-
-TEST_F(WebFrameSerializerTest, FromUrlWithMinusMinus) {
- String actual_html =
- SerializeFile("http://www.test.com?--x--", "text_only_page.html");
- EXPECT_EQ("<!-- saved from url=(0030)http://www.test.com/?-%2Dx-%2D -->",
- actual_html.Substring(1, 60));
-}
-
-class WebFrameSerializerSanitizationTest : public WebFrameSerializerTest {
- protected:
- WebFrameSerializerSanitizationTest() {}
-
- ~WebFrameSerializerSanitizationTest() override {}
-
String GenerateMHTMLFromHtml(const String& url, const String& file_name) {
return GenerateMHTML(url, file_name, "text/html", false);
}
@@ -274,10 +153,23 @@ class WebFrameSerializerSanitizationTest : public WebFrameSerializerTest {
mhtml_delegate_.SetRemovePopupOverlay(remove_popup_overlay);
}
- protected:
+ void RegisterMockedFileURLLoad(const KURL& url,
+ const String& file_path,
+ const String& mime_type = "image/png") {
+ URLTestHelpers::RegisterMockedURLLoad(
+ url, testing::WebTestDataPath(file_path.Utf8().data()), mime_type);
+ }
+
+ WebViewBase* WebView() { return helper_.WebView(); }
+
+ WebLocalFrameImpl* MainFrameImpl() {
+ return helper_.WebView()->MainFrameImpl();
+ }
+
HistogramTester histogram_tester_;
private:
+ FrameTestHelpers::WebViewHelper helper_;
SimpleMHTMLPartsGenerationDelegate mhtml_delegate_;
};
« no previous file with comments | « third_party/WebKit/Source/web/BUILD.gn ('k') | third_party/WebKit/Source/web/tests/WebFrameSerializerTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698