diff options
author | ace@chromium.org <ace@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-12 04:47:44 +0000 |
---|---|---|
committer | ace@chromium.org <ace@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-12 04:47:44 +0000 |
commit | 88efa012201af24b14072298d7a24b64fc1c02a1 (patch) | |
tree | 8268a64f6826da53e2610f7c46bc4dc7e2dc99d2 /chrome/test/functional | |
parent | 077851be33ef19822a8ac6497f6618894c30da56 (diff) | |
download | chromium_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.py | 78 |
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__': |