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

Side by Side Diff: chrome/browser/browsing_data/browsing_data_remover_browsertest.cc

Issue 10866013: Convert the browsing_data pyauto tests to chrome tests. Remove the ClearBrowsingData automation cod… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix flake in unittest harness Created 8 years, 4 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 | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/browsing_data/browsing_data_helper.h"
6 #include "chrome/browser/browsing_data/browsing_data_remover.h"
7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/ui/browser.h"
9 #include "chrome/browser/ui/browser_tabstrip.h"
10 #include "chrome/common/chrome_notification_types.h"
11 #include "chrome/test/base/in_process_browser_test.h"
12 #include "chrome/test/base/ui_test_utils.h"
13 #include "content/public/browser/browser_context.h"
14 #include "content/public/browser/download_manager.h"
15 #include "content/public/browser/web_contents.h"
16 #include "content/public/test/browser_test_utils.h"
17 #include "content/public/test/download_test_observer.h"
18 #include "content/test/net/url_request_mock_http_job.h"
19 #include "testing/gtest/include/gtest/gtest.h"
20
21 class BrowsingDataRemoverBrowserTest : public InProcessBrowserTest {
22 public:
23 BrowsingDataRemoverBrowserTest() {}
24
25 void RunScriptAndCheckResult(const std::wstring& script,
26 const std::string& result) {
27 std::string data;
28 ASSERT_TRUE(content::ExecuteJavaScriptAndExtractString(
29 chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
30 script, &data));
31 ASSERT_EQ(data, result);
32 }
33
34 void RemoveAndWait(int remove_mask) {
35 content::WindowedNotificationObserver signal(
36 chrome::NOTIFICATION_BROWSING_DATA_REMOVED,
37 content::Source<Profile>(browser()->profile()));
38 BrowsingDataRemover* remover = new BrowsingDataRemover(
39 browser()->profile(), BrowsingDataRemover::LAST_HOUR,
40 base::Time::Now() + base::TimeDelta::FromMilliseconds(10));
41 remover->Remove(remove_mask, BrowsingDataHelper::UNPROTECTED_WEB);
42 signal.Wait();
43 }
44 };
45
46 // Test BrowsingDataRemover for downloads.
47 IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, Download) {
48 // Start a download.
49 content::DownloadManager* download_manager =
50 content::BrowserContext::GetDownloadManager(browser()->profile());
51 scoped_ptr<content::DownloadTestObserver> observer(
52 new content::DownloadTestObserverTerminal(
53 download_manager, 1,
54 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_ACCEPT));
55
56 GURL download_url = ui_test_utils::GetTestUrl(
57 FilePath().AppendASCII("downloads"),
58 FilePath().AppendASCII("a_zip_file.zip"));
59 ui_test_utils::NavigateToURL(browser(), download_url);
60 observer->WaitForFinished();
61
62 std::vector<content::DownloadItem*> downloads;
63 download_manager->GetAllDownloads(FilePath(), &downloads);
64 EXPECT_EQ(1u, downloads.size());
65
66 RemoveAndWait(BrowsingDataRemover::REMOVE_DOWNLOADS);
67
68 downloads.clear();
69 download_manager->GetAllDownloads(FilePath(), &downloads);
70 EXPECT_TRUE(downloads.empty());
71 }
72
73 // Verify can modify database after deleting it.
74 IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverBrowserTest, Database) {
75 ASSERT_TRUE(test_server()->Start());
76 GURL url = test_server()->GetURL("files/database/simple_database.html");
77 ui_test_utils::NavigateToURL(browser(), url);
78
79 RunScriptAndCheckResult(L"createTable()", "done");
80 RunScriptAndCheckResult(L"insertRecord('text')", "done");
81 RunScriptAndCheckResult(L"getRecords()", "text");
82
83 RemoveAndWait(BrowsingDataRemover::REMOVE_SITE_DATA);
84
85 ui_test_utils::NavigateToURL(browser(), url);
86 RunScriptAndCheckResult(L"createTable()", "done");
87 RunScriptAndCheckResult(L"insertRecord('text2')", "done");
88 RunScriptAndCheckResult(L"getRecords()", "text2");
89 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698