Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: tools/telemetry/telemetry/core/extension_unittest.py

Issue 304773003: Add support for GetByExtensionId (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: support for multiple extension contexts Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/core/extension_unittest.py
diff --git a/tools/telemetry/telemetry/core/extension_unittest.py b/tools/telemetry/telemetry/core/extension_unittest.py
index f17d029a0549294ad8de4326ce8f54263397759e..549836865f00134c689acc093d9a14de6e590db9 100644
--- a/tools/telemetry/telemetry/core/extension_unittest.py
+++ b/tools/telemetry/telemetry/core/extension_unittest.py
@@ -16,22 +16,27 @@ from telemetry.unittest import options_for_unittests
class ExtensionTest(unittest.TestCase):
def setUp(self):
- extension_path = os.path.join(util.GetUnittestDataDir(), 'simple_extension')
+ self._browser = None
+ self._extension = None
+ self._extension_id = None
+
+ def CreateBrowserWithExtension(self, ext_path):
+ extension_path = os.path.join(util.GetUnittestDataDir(), ext_path)
options = options_for_unittests.GetCopy()
load_extension = extension_to_load.ExtensionToLoad(
extension_path, options.browser_type)
options.extensions_to_load = [load_extension]
browser_to_create = browser_finder.FindBrowser(options)
- self._browser = None
- self._extension = None
if not browser_to_create:
# May not find a browser that supports extensions.
- return
+ return False
self._browser = browser_to_create.Create()
self._browser.Start()
self._extension = self._browser.extensions[load_extension]
+ self._extension_id = load_extension.extension_id
self.assertTrue(self._extension)
+ return True
def tearDown(self):
if self._browser:
@@ -39,7 +44,7 @@ class ExtensionTest(unittest.TestCase):
def testExtensionBasic(self):
"""Test ExtensionPage's ExecuteJavaScript and EvaluateJavaScript."""
- if not self._extension:
+ if not self.CreateBrowserWithExtension('simple_extension'):
logging.warning('Did not find a browser that supports extensions, '
'skipping test.')
return
@@ -49,6 +54,32 @@ class ExtensionTest(unittest.TestCase):
self.assertEquals('abcdef',
self._extension.EvaluateJavaScript('_testVar'))
+ def testExtensionGetByExtensionId(self):
+ """Test GetByExtensionId for a simple extension with a background page."""
+ if not self.CreateBrowserWithExtension('simple_extension'):
+ logging.warning('Did not find a browser that supports extensions, '
+ 'skipping test.')
+ return
+ ext = self._browser.extensions.GetByExtensionId(self._extension_id)
+ self.assertEqual(1, len(ext))
+ self.assertEqual(ext[0], self._extension)
+ self.assertTrue(
+ ext[0].EvaluateJavaScript('chrome.runtime != null'))
+
+ def testWebApp(self):
+ """Tests GetByExtensionId for a web app with multiple pages."""
+ if not self.CreateBrowserWithExtension('simple_app'):
+ logging.warning('Did not find a browser that supports extensions, '
+ 'skipping test.')
+ return
+ extensions = self._browser.extensions.GetByExtensionId(self._extension_id)
+ extension_urls = set([ext.EvaluateJavaScript('location.href;')
+ for ext in extensions])
+ expected_urls = set(['chrome-extension://' + self._extension_id + '/' + path
+ for path in ['main.html', 'second.html',
+ '_generated_background_page.html']])
+
+ self.assertEqual(expected_urls, extension_urls)
class NonExistentExtensionTest(unittest.TestCase):
def testNonExistentExtensionPath(self):
« no previous file with comments | « tools/telemetry/telemetry/core/extension_dict.py ('k') | tools/telemetry/unittest_data/simple_app/background.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698