summaryrefslogtreecommitdiffstats
path: root/chrome/test/functional/browsing_data.py
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/test/functional/browsing_data.py')
-rw-r--r--chrome/test/functional/browsing_data.py83
1 files changed, 83 insertions, 0 deletions
diff --git a/chrome/test/functional/browsing_data.py b/chrome/test/functional/browsing_data.py
new file mode 100644
index 0000000..f217c5b
--- /dev/null
+++ b/chrome/test/functional/browsing_data.py
@@ -0,0 +1,83 @@
+#!/usr/bin/python
+# Copyright (c) 2010 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.
+
+import os
+import time
+
+import pyauto_functional # Must be imported before pyauto
+import pyauto
+
+
+class BrowsingDataTest(pyauto.PyUITest):
+ """Tests that clearing browsing data works correctly."""
+
+ def testClearHistory(self):
+ """Verify that clearing the history works."""
+ url = self.GetFileURLForPath(os.path.join(self.DataDir(), 'title2.html'))
+ self.NavigateToURL(url)
+
+ history = self.GetHistoryInfo().History()
+ self.assertEqual(1, len(history))
+
+ self.ClearBrowsingData(['HISTORY'], 'EVERYTHING')
+ history = self.GetHistoryInfo().History()
+ self.assertEqual(0, len(history))
+
+ def testClearHistoryPastHour(self):
+ """Verify that clearing the history of the past hour works and does not
+ clear history older than one hour.
+ """
+ title = 'Google'
+ num_secs_in_hour = 3600
+
+ # Forge a history item for two hours ago
+ now = time.time()
+ last_hour = now - (2 * num_secs_in_hour)
+ self.AddHistoryItem({'title': title,
+ 'url': 'http://www.google.com',
+ 'time': last_hour})
+
+ # Forge a history item for right now
+ self.AddHistoryItem({'title': 'This Will Be Cleared',
+ 'url': 'http://www.dev.chromium.org',
+ 'time': now})
+
+ history = self.GetHistoryInfo().History()
+ self.assertEqual(2, len(history))
+
+ self.ClearBrowsingData(['HISTORY'], 'LAST_HOUR')
+ history = self.GetHistoryInfo().History()
+ self.assertEqual(1, len(history))
+ self.assertEqual(title, history[0]['title'])
+
+ def testClearHistoryAndDownloads(self):
+ """Verify that we can clear history and downloads at the same time."""
+ # First build up some history and download something.
+ url = self.GetFileURLForPath(os.path.join(self.DataDir(), 'title2.html'))
+ self.NavigateToURL(url)
+
+ test_dir = os.path.join(os.path.abspath(self.DataDir()), 'downloads')
+ file_path = os.path.join(test_dir, 'a_zip_file.zip')
+ file_url = self.GetFileURLForPath(file_path)
+ downloaded_pkg = os.path.join(self.GetDownloadDirectory().value(),
+ 'a_zip_file.zip')
+ os.path.exists(downloaded_pkg) and os.remove(downloaded_pkg)
+ self.DownloadAndWaitForStart(file_url)
+ self.WaitForAllDownloadsToComplete()
+
+ # Verify that the history and download exist.
+ self.assertEqual(1, len(self.GetHistoryInfo().History()))
+ self.assertEqual(1, len(self.GetDownloadsInfo().Downloads()))
+
+ # Clear the history and downloads and verify they're both gone.
+ self.ClearBrowsingData(['HISTORY', 'DOWNLOADS'], 'EVERYTHING')
+ history = self.GetHistoryInfo().History()
+ downloads = self.GetDownloadsInfo().Downloads()
+ self.assertEqual(0, len(history))
+ self.assertEqual(0, len(downloads))
+
+
+if __name__ == '__main__':
+ pyauto_functional.Main()