summaryrefslogtreecommitdiffstats
path: root/chrome/test/functional
diff options
context:
space:
mode:
authorace@chromium.org <ace@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-12 04:47:44 +0000
committerace@chromium.org <ace@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-12 04:47:44 +0000
commit88efa012201af24b14072298d7a24b64fc1c02a1 (patch)
tree8268a64f6826da53e2610f7c46bc4dc7e2dc99d2 /chrome/test/functional
parent077851be33ef19822a8ac6497f6618894c30da56 (diff)
downloadchromium_src-88efa012201af24b14072298d7a24b64fc1c02a1.zip
chromium_src-88efa012201af24b14072298d7a24b64fc1c02a1.tar.gz
chromium_src-88efa012201af24b14072298d7a24b64fc1c02a1.tar.bz2
Adding automation hooks for editing search engines.
Refactored automation hook for getting search engine info. BUG=52009 Review URL: http://codereview.chromium.org/3581003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62248 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/functional')
-rw-r--r--chrome/test/functional/search_engines.py78
1 files changed, 66 insertions, 12 deletions
diff --git a/chrome/test/functional/search_engines.py b/chrome/test/functional/search_engines.py
index ed90bb2..5d1082d 100644
--- a/chrome/test/functional/search_engines.py
+++ b/chrome/test/functional/search_engines.py
@@ -13,6 +13,21 @@ import pyauto
class SearchEnginesTest(pyauto.PyUITest):
"""TestCase for Search Engines."""
+ def _GetSearchEngineWithKeyword(self, keyword):
+ """Get search engine info and return an element that matches keyword.
+
+ Args:
+ keyword: Search engine keyword field.
+
+ Returns:
+ A search engine info dict or None.
+ """
+ match_list = ([x for x in self.GetSearchEngineInfo()
+ if x['keyword'] == keyword])
+ if match_list:
+ return match_list[0]
+ return None
+
def Debug(self):
"""Test method for experimentation.
@@ -47,20 +62,59 @@ class SearchEnginesTest(pyauto.PyUITest):
self.assertFalse(youtube['in_default_list'])
self.assertFalse(youtube['is_default'])
- def _GetSearchEngineWithKeyword(self, keyword):
- """Get search engine info and return an element that matches keyword.
+ def testAddSearchEngine(self):
+ """Test searching using keyword of user-added search engine."""
+ self.AddSearchEngine(title='foo',
+ keyword='foo.com',
+ url='http://foo/?q=%s')
+ self.SetOmniboxText('foo.com foobar')
+ self.OmniboxAcceptInput()
+ self.assertEqual('http://foo/?q=foobar', self.GetActiveTabURL().spec())
- Args:
- keyword: Search engine keyword field.
+ def testEditSearchEngine(self):
+ """Test editing a search engine's properties."""
+ self.AddSearchEngine(title='foo',
+ keyword='foo.com',
+ url='http://foo/?q=%s')
+ self.EditSearchEngine(keyword='foo.com',
+ new_title='bar',
+ new_keyword='bar.com',
+ new_url='http://foo/?bar=true&q=%s')
+ self.assertTrue(self._GetSearchEngineWithKeyword('bar.com'))
+ self.assertFalse(self._GetSearchEngineWithKeyword('foo.com'))
+ self.SetOmniboxText('bar.com foobar')
+ self.OmniboxAcceptInput()
+ self.assertEqual('http://foo/?bar=true&q=foobar',
+ self.GetActiveTabURL().spec())
- Returns:
- A search engine info dict or None.
- """
- match_list = ([x for x in self.GetSearchEngineInfo()
- if x['keyword'] == 'youtube.com'])
- if match_list:
- return match_list[0]
- return None
+ def testDeleteSearchEngine(self):
+ """Test adding then deleting a search engine."""
+ self.AddSearchEngine(title='foo',
+ keyword='foo.com',
+ url='http://foo/?q=%s')
+ foo = self._GetSearchEngineWithKeyword('foo.com')
+ self.assertTrue(foo)
+ self.DeleteSearchEngine('foo.com')
+ foo = self._GetSearchEngineWithKeyword('foo.com')
+ self.assertFalse(foo)
+
+ def testMakeSearchEngineDefault(self):
+ """Test adding then making a search engine default."""
+ self.AddSearchEngine(
+ title='foo',
+ keyword='foo.com',
+ url='http://foo/?q=%s')
+ foo = self._GetSearchEngineWithKeyword('foo.com')
+ self.assertTrue(foo)
+ self.assertFalse(foo['is_default'])
+ self.MakeSearchEngineDefault('foo.com')
+ foo = self._GetSearchEngineWithKeyword('foo.com')
+ self.assertTrue(foo)
+ self.assertTrue(foo['is_default'])
+ self.SetOmniboxText('foobar')
+ self.OmniboxAcceptInput()
+ self.assertEqual('http://foo/?q=foobar',
+ self.GetActiveTabURL().spec())
if __name__ == '__main__':