| Index: chrome/test/functional/content.py
|
| ===================================================================
|
| --- chrome/test/functional/content.py (revision 0)
|
| +++ chrome/test/functional/content.py (revision 0)
|
| @@ -0,0 +1,92 @@
|
| +#!/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 pyauto_functional # Must be imported before pyauto
|
| +import pyauto
|
| +
|
| +
|
| +class ContentTest(pyauto.PyUITest):
|
| + """TestCase for getting html content from the browser."""
|
| +
|
| + def _DataDirURL(self, filename):
|
| + """Return a URL in the data dir for the given filename."""
|
| + return self.GetFileURLForPath(os.path.join(self.DataDir(), filename))
|
| +
|
| + def _StringContentCheck(self, content_string, have_list, nothave_list):
|
| + """Look for the presence or absence of strings in content.
|
| +
|
| + Confirm all strings in have_list are found in content_string.
|
| + Confirm all strings in nothave_list are NOT found in content_string.
|
| + """
|
| + for s in have_list:
|
| + self.assertTrue(s in content_string)
|
| + for s in nothave_list:
|
| + self.assertTrue(s not in content_string)
|
| +
|
| + def _FileContentCheck(self, filename, have_list, nothave_list):
|
| + """String check in local file.
|
| +
|
| + For each local filename, tell the browser to load it as a file
|
| + UEL from the DataDir. Ask the browser for the loaded html.
|
| + Confirm all strings in have_list are found in it. Confirm all
|
| + strings in nothave_list are NOT found in it. Assumes only one
|
| + window/tab is open.
|
| + """
|
| + self.NavigateToURL(self._DataDirURL(filename))
|
| + self._StringContentCheck(self.GetTabContents(), have_list, nothave_list)
|
| +
|
| + def testLocalFileBasics(self):
|
| + """For a few local files, do some basic has / not has."""
|
| + self._FileContentCheck('title1.html',
|
| + ['<html>', '</html>', 'page has no title'],
|
| + ['Title Of Awesomeness', '<b>'])
|
| + self._FileContentCheck('title2.html',
|
| + ['<html>', '</html>', 'Title Of Awesomeness'],
|
| + ['plastic flower', '<b>'])
|
| + self._FileContentCheck('title3.html',
|
| + ['<html>', '</html>', 'Title Of More Awesomeness'],
|
| + ['dinfidnfid', 'Title Of Awesomeness', '<b>'])
|
| +
|
| + def testTwoTabs(self):
|
| + """Test content when we have 2 tabs."""
|
| + self.NavigateToURL(self._DataDirURL('title1.html'))
|
| + self.AppendTab(pyauto.GURL(self._DataDirURL('title2.html')), 0)
|
| + self._StringContentCheck(self.GetTabContents(0, 0),
|
| + ['page has no title'],
|
| + ['Awesomeness'])
|
| + self._StringContentCheck(self.GetTabContents(1, 0),
|
| + ['Awesomeness'],
|
| + ['page has no title'])
|
| +
|
| + def testThreeWindows(self):
|
| + """Test content when we have 3 windows."""
|
| + self.NavigateToURL(self._DataDirURL('title1.html'))
|
| + for (window_index, url) in ((1, 'title2.html'), (2, 'title3.html')):
|
| + self.OpenNewBrowserWindow(True)
|
| + self.GetBrowserWindow(window_index).BringToFront()
|
| + self.NavigateToURL(self._DataDirURL(url), window_index, 0)
|
| +
|
| + self._StringContentCheck(self.GetTabContents(0, 0),
|
| + ['page has no title'],
|
| + ['Awesomeness'])
|
| + self._StringContentCheck(self.GetTabContents(0, 1),
|
| + ['Awesomeness'],
|
| + ['page has no title'])
|
| + self._StringContentCheck(self.GetTabContents(0, 2),
|
| + ['Title Of More Awesomeness'],
|
| + ['page has no title'])
|
| +
|
| + def testAboutVersion(self):
|
| + """Confirm about:version contains some expected content."""
|
| + self.NavigateToURL('about:version')
|
| + self._StringContentCheck(self.GetTabContents(),
|
| + ['User Agent', 'Command Line'],
|
| + ['odmomfodfm disfnodugdzuoufgbn ifdnf fif'])
|
| +
|
| +
|
| +if __name__ == '__main__':
|
| + pyauto_functional.Main()
|
|
|