Index: chrome/renderer/safe_browsing/malware_dom_details_browsertest.cc |
diff --git a/chrome/renderer/safe_browsing/malware_dom_details_browsertest.cc b/chrome/renderer/safe_browsing/malware_dom_details_browsertest.cc |
deleted file mode 100644 |
index e4ef1e649a1f3435715c1438ee384af09b3cb70b..0000000000000000000000000000000000000000 |
--- a/chrome/renderer/safe_browsing/malware_dom_details_browsertest.cc |
+++ /dev/null |
@@ -1,130 +0,0 @@ |
-// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/strings/stringprintf.h" |
-#include "chrome/common/safe_browsing/safebrowsing_messages.h" |
-#include "chrome/renderer/safe_browsing/malware_dom_details.h" |
-#include "chrome/test/base/chrome_render_view_test.h" |
-#include "net/base/escape.h" |
- |
-typedef ChromeRenderViewTest MalwareDOMDetailsTest; |
- |
- |
-TEST_F(MalwareDOMDetailsTest, Everything) { |
- scoped_ptr<safe_browsing::MalwareDOMDetails> details( |
- safe_browsing::MalwareDOMDetails::Create(view_)); |
- // Lower kMaxNodes for the test. Loading 500 subframes in a |
- // debug build takes a while. |
- details->kMaxNodes = 50; |
- |
- const char urlprefix[] = "data:text/html;charset=utf-8,"; |
- |
- { // An page with an internal script |
- std::string html = "<html><head><script></script></head></html>"; |
- LoadHTML(html.c_str()); |
- std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node> params; |
- details->ExtractResources(¶ms); |
- ASSERT_EQ(1u, params.size()); |
- EXPECT_EQ(GURL(urlprefix + html), params[0].url); |
- } |
- |
- { // A page with 2 external scripts. |
- // Note: This part of the test causes 2 leaks: LEAK: 5 WebCoreNode |
- // LEAK: 2 CachedResource. |
- GURL script1_url("data:text/javascript;charset=utf-8,var a=1;"); |
- GURL script2_url("data:text/javascript;charset=utf-8,var b=2;"); |
- std::string html = "<html><head><script src=\"" + script1_url.spec() + |
- "\"></script><script src=\"" + script2_url.spec() + |
- "\"></script></head></html>"; |
- GURL url(urlprefix + html); |
- |
- LoadHTML(html.c_str()); |
- std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node> params; |
- details->ExtractResources(¶ms); |
- ASSERT_EQ(3u, params.size()); |
- EXPECT_EQ(script1_url, params[0].url); |
- EXPECT_EQ("SCRIPT", params[0].tag_name); |
- EXPECT_EQ(script2_url, params[1].url); |
- EXPECT_EQ("SCRIPT", params[0].tag_name); |
- EXPECT_EQ(url, params[2].url); |
- } |
- |
- { // A page with an iframe which in turn contains an iframe. |
- // html |
- // \ iframe1 |
- // \ iframe2 |
- std::string iframe2_html = "<html><body>iframe2</body></html>"; |
- GURL iframe2_url(urlprefix + iframe2_html); |
- std::string iframe1_html = "<iframe src=\"" + net::EscapeForHTML( |
- iframe2_url.spec()) + "\"></iframe>"; |
- GURL iframe1_url(urlprefix + iframe1_html); |
- std::string html = "<html><head><iframe src=\"" + net::EscapeForHTML( |
- iframe1_url.spec()) + "\"></iframe></head></html>"; |
- GURL url(urlprefix + html); |
- |
- LoadHTML(html.c_str()); |
- std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node> params; |
- details->ExtractResources(¶ms); |
- ASSERT_EQ(5u, params.size()); |
- |
- EXPECT_EQ(iframe1_url, params[0].url); |
- EXPECT_EQ(url, params[0].parent); |
- EXPECT_EQ(0u, params[0].children.size()); |
- EXPECT_EQ("IFRAME", params[0].tag_name); |
- |
- EXPECT_EQ(url, params[1].url); |
- EXPECT_EQ(GURL(), params[1].parent); |
- EXPECT_EQ(1u, params[1].children.size()); |
- EXPECT_EQ(iframe1_url, params[1].children[0]); |
- |
- EXPECT_EQ(iframe2_url, params[2].url); |
- EXPECT_EQ(iframe1_url, params[2].parent); |
- EXPECT_EQ(0u, params[2].children.size()); |
- EXPECT_EQ("IFRAME", params[2].tag_name); |
- |
- // The frames are added twice, once with the correct parent and tagname |
- // and once with the correct children. The caller in the browser |
- // is responsible for merging. |
- EXPECT_EQ(iframe1_url, params[3].url); |
- EXPECT_EQ(GURL(), params[3].parent); |
- EXPECT_EQ(1u, params[3].children.size()); |
- EXPECT_EQ(iframe2_url, params[3].children[0]); |
- |
- EXPECT_EQ(iframe2_url, params[4].url); |
- EXPECT_EQ(GURL(), params[4].parent); |
- EXPECT_EQ(0u, params[4].children.size()); |
- } |
- |
- { // >50 subframes, to verify kMaxNodes. |
- std::string html; |
- for (int i = 0; i < 55; ++i) { |
- // The iframe contents is just a number. |
- GURL iframe_url(base::StringPrintf("%s%d", urlprefix, i)); |
- html += "<iframe src=\"" + net::EscapeForHTML(iframe_url.spec()) + |
- "\"></iframe>"; |
- } |
- GURL url(urlprefix + html); |
- |
- LoadHTML(html.c_str()); |
- std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node> params; |
- details->ExtractResources(¶ms); |
- ASSERT_EQ(51u, params.size()); |
- } |
- |
- { // A page with >50 scripts, to verify kMaxNodes. |
- std::string html; |
- for (int i = 0; i < 55; ++i) { |
- // The iframe contents is just a number. |
- GURL script_url(base::StringPrintf("%s%d", urlprefix, i)); |
- html += "<script src=\"" + net::EscapeForHTML(script_url.spec()) + |
- "\"></script>"; |
- } |
- GURL url(urlprefix + html); |
- |
- LoadHTML(html.c_str()); |
- std::vector<SafeBrowsingHostMsg_MalwareDOMDetails_Node> params; |
- details->ExtractResources(¶ms); |
- ASSERT_EQ(51u, params.size()); |
- } |
-} |