Index: history.py |
=================================================================== |
--- history.py (revision 93681) |
+++ history.py (working copy) |
@@ -219,6 +219,99 @@ |
self.assertEqual(ftp_title, history[0]['title']) |
self.assertEqual(ftp_url, history[0]['url']) |
+ def _CheckHistory(self, title, url, length, index=0): |
+ """Verify that the current history matches expectations. |
+ Verify that history item has the given title and url |
+ and that length of history list is as expected. |
+ |
+ Args: |
+ title: Expected title of given web page. |
+ url: Expected address of given web page. |
+ length: Expected length of history list. |
+ index: Position of item we want to check in history list. |
+ """ |
+ history = self.GetHistoryInfo().History() |
+ self.assertEqual( |
+ length, len(history), |
+ msg='History length: expected = %d, actual = %d.' |
+ % (length, len(history))) |
+ self.assertEqual( |
+ title, history[index]['title'], |
+ msg='Title: expected = %s, actual = %s.' |
+ % (title, history[index]['title'])) |
+ self.assertEqual( |
+ url, history[index]['url'], msg='URL: expected = %s, actual = %s.' |
+ % (url, history[index]['url'])) |
+ |
+ def _NavigateAndCheckHistory(self, title, page, length): |
+ """Navigate to a page, then verify the history. |
+ |
+ Args: |
+ title: Title of given web page. |
+ page: Filename of given web page. |
+ length: Length of history list. |
+ """ |
+ url = self.GetFileURLForDataPath(page) |
+ self.NavigateToURL(url) |
+ self._CheckHistory(title, url, length) |
+ |
+ def testNavigateBringPageToTop(self): |
+ """Verify that navigation brings current page to top of history list.""" |
+ self._NavigateAndCheckHistory('Title Of Awesomeness', 'title2.html', 1) |
+ self._NavigateAndCheckHistory('Title Of More Awesomeness', 'title3.html', |
+ 2) |
+ |
+ def testReloadBringPageToTop(self): |
+ """Verify that reloading a page brings it to top of history list.""" |
+ url1 = self.GetFileURLForDataPath('title2.html') |
+ title1 = 'Title Of Awesomeness' |
+ self._NavigateAndCheckHistory(title1, 'title2.html', 1) |
+ |
+ url2 = self.GetFileURLForDataPath('title3.html') |
+ title2 = 'Title Of More Awesomeness' |
+ self.AppendTab(pyauto.GURL(url2)) |
+ self._CheckHistory(title2, url2, 2) |
+ |
+ self.ActivateTab(0) |
+ self.ReloadActiveTab() |
+ self._CheckHistory(title1, url1, 2) |
+ |
+ def testBackForwardBringPageToTop(self): |
+ """Verify that back/forward brings current page to top of history list.""" |
+ url1 = self.GetFileURLForDataPath('title2.html') |
+ title1 = 'Title Of Awesomeness' |
+ self._NavigateAndCheckHistory(title1, 'title2.html', 1) |
+ |
+ url2 = self.GetFileURLForDataPath('title3.html') |
+ title2 = 'Title Of More Awesomeness' |
+ self._NavigateAndCheckHistory(title2, 'title3.html', 2) |
+ |
+ tab = self.GetBrowserWindow(0).GetTab(0) |
+ tab.GoBack() |
+ self._CheckHistory(title1, url1, 2) |
+ tab.GoForward() |
+ self._CheckHistory(title2, url2, 2) |
+ |
+ def testAppendTabAddPage(self): |
+ """Verify that opening a new tab adds that page to history.""" |
+ self._NavigateAndCheckHistory('Title Of Awesomeness', 'title2.html', 1) |
+ |
+ url2 = self.GetFileURLForDataPath('title3.html') |
+ title2 = 'Title Of More Awesomeness' |
+ self.AppendTab(pyauto.GURL(url2)) |
+ self._CheckHistory(title2, url2, 2) |
+ |
+ def testOpenWindowAddPage(self): |
+ """Verify that opening new window to a page adds the page to history.""" |
+ self._NavigateAndCheckHistory('Title Of Awesomeness', 'title2.html', 1) |
+ |
+ url2 = self.GetFileURLForDataPath('title3.html') |
+ title2 = 'Title Of More Awesomeness' |
+ self.OpenNewBrowserWindow(True) |
+ self.NavigateToURL(url2, 1) |
+ self._CheckHistory(title2, url2, 2) |
+ |
+ |
if __name__ == '__main__': |
pyauto_functional.Main() |