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

Unified Diff: tools/telemetry/telemetry/internal/browser/extension_unittest.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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/internal/browser/extension_unittest.py
diff --git a/tools/telemetry/telemetry/internal/browser/extension_unittest.py b/tools/telemetry/telemetry/internal/browser/extension_unittest.py
deleted file mode 100644
index 44fea28fe61b2d3b159bf8314e12d73ccf561d93..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/browser/extension_unittest.py
+++ /dev/null
@@ -1,210 +0,0 @@
-# Copyright 2012 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 logging
-import os
-import shutil
-import tempfile
-import unittest
-
-from telemetry.core import util
-from telemetry import decorators
-from telemetry.internal.browser import browser_finder
-from telemetry.internal.browser import extension_to_load
-from telemetry.testing import options_for_unittests
-
-
-class ExtensionTest(unittest.TestCase):
- def setUp(self):
- 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)
-
- if not browser_to_create:
- # May not find a browser that supports extensions.
- return False
- self._browser = browser_to_create.Create(options)
- 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:
- self._browser.Close()
-
- def testExtensionBasic(self):
- """Test ExtensionPage's ExecuteJavaScript and EvaluateJavaScript."""
- if not self.CreateBrowserWithExtension('simple_extension'):
- logging.warning('Did not find a browser that supports extensions, '
- 'skipping test.')
- return
- self.assertTrue(
- self._extension.EvaluateJavaScript('chrome.runtime != null'))
- self._extension.ExecuteJavaScript('setTestVar("abcdef")')
- 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'))
-
- @decorators.Disabled('mac')
- @decorators.Disabled('win') # crbug.com/570955
- 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):
- """Test that a non-existent extension path will raise an exception."""
- extension_path = os.path.join(util.GetUnittestDataDir(), 'foo')
- options = options_for_unittests.GetCopy()
- self.assertRaises(extension_to_load.ExtensionPathNonExistentException,
- lambda: extension_to_load.ExtensionToLoad(
- extension_path, options.browser_type))
-
- def testExtensionNotLoaded(self):
- """Querying an extension that was not loaded will return None"""
- extension_path = os.path.join(util.GetUnittestDataDir(), 'simple_extension')
- options = options_for_unittests.GetCopy()
- load_extension = extension_to_load.ExtensionToLoad(
- extension_path, options.browser_type)
- browser_to_create = browser_finder.FindBrowser(options)
- with browser_to_create.Create(options) as b:
- if b.supports_extensions:
- self.assertRaises(KeyError, lambda: b.extensions[load_extension])
-
-class MultipleExtensionTest(unittest.TestCase):
- def setUp(self):
- """ Copy the manifest and background.js files of simple_extension to a
- number of temporary directories to load as extensions"""
- self._extension_dirs = [tempfile.mkdtemp() for _ in range(3)]
- src_extension_dir = os.path.join(
- util.GetUnittestDataDir(), 'simple_extension')
- manifest_path = os.path.join(src_extension_dir, 'manifest.json')
- script_path = os.path.join(src_extension_dir, 'background.js')
- for d in self._extension_dirs:
- shutil.copy(manifest_path, d)
- shutil.copy(script_path, d)
- options = options_for_unittests.GetCopy()
- self._extensions_to_load = [extension_to_load.ExtensionToLoad(
- d, options.browser_type)
- for d in self._extension_dirs]
- options.extensions_to_load = self._extensions_to_load
- browser_to_create = browser_finder.FindBrowser(options)
- self._browser = None
- # May not find a browser that supports extensions.
- if browser_to_create:
- self._browser = browser_to_create.Create(options)
-
- def tearDown(self):
- if self._browser:
- self._browser.Close()
- for d in self._extension_dirs:
- shutil.rmtree(d)
-
- def testMultipleExtensions(self):
- if not self._browser:
- logging.warning('Did not find a browser that supports extensions, '
- 'skipping test.')
- return
-
- # Test contains.
- loaded_extensions = [e for e in self._extensions_to_load
- if e in self._browser.extensions]
- self.assertEqual(len(loaded_extensions), len(self._extensions_to_load))
- for load_extension in self._extensions_to_load:
- extension = self._browser.extensions[load_extension]
- assert extension
- self.assertTrue(
- extension.EvaluateJavaScript('chrome.runtime != null'))
- extension.ExecuteJavaScript('setTestVar("abcdef")')
- self.assertEquals('abcdef', extension.EvaluateJavaScript('_testVar'))
-
-
-class ComponentExtensionTest(unittest.TestCase):
- def testComponentExtensionBasic(self):
- extension_path = os.path.join(
- util.GetUnittestDataDir(), 'component_extension')
- options = options_for_unittests.GetCopy()
- load_extension = extension_to_load.ExtensionToLoad(
- extension_path, options.browser_type, is_component=True)
-
- options.extensions_to_load = [load_extension]
- browser_to_create = browser_finder.FindBrowser(options)
- if not browser_to_create:
- logging.warning('Did not find a browser that supports extensions, '
- 'skipping test.')
- return
-
- with browser_to_create.Create(options) as b:
- extension = b.extensions[load_extension]
- self.assertTrue(
- extension.EvaluateJavaScript('chrome.runtime != null'))
- extension.ExecuteJavaScript('setTestVar("abcdef")')
- self.assertEquals('abcdef', extension.EvaluateJavaScript('_testVar'))
-
- def testComponentExtensionNoPublicKey(self):
- # simple_extension does not have a public key.
- extension_path = os.path.join(util.GetUnittestDataDir(), 'simple_extension')
- options = options_for_unittests.GetCopy()
- self.assertRaises(extension_to_load.MissingPublicKeyException,
- lambda: extension_to_load.ExtensionToLoad(
- extension_path,
- browser_type=options.browser_type,
- is_component=True))
-
-
-class WebviewInExtensionTest(ExtensionTest):
-
- # Flaky on windows, hits an exception: http://crbug.com/508325
- @decorators.Disabled('win', 'linux')
- def testWebviewInExtension(self):
- """Tests GetWebviewContext() for a web app containing <webview> element."""
- if not self.CreateBrowserWithExtension('webview_app'):
- logging.warning('Did not find a browser that supports extensions, '
- 'skipping test.')
- return
-
- self._browser.extensions.GetByExtensionId(self._extension_id)
- webview_contexts = self._extension.GetWebviewContexts()
- self.assertEquals(1, len(webview_contexts))
- webview_context = webview_contexts[0]
- webview_context.WaitForDocumentReadyStateToBeComplete()
- # Check that the context has the right url from the <webview> element.
- self.assertTrue(webview_context.GetUrl().startswith('data:'))
- # Check |test_input_id| element is accessible from the webview context.
- self.assertTrue(webview_context.EvaluateJavaScript(
- 'document.getElementById("test_input_id") != null'))
- # Check that |test_input_id| is not accessible from outside webview context
- self.assertFalse(self._extension.EvaluateJavaScript(
- 'document.getElementById("test_input_id") != null'))

Powered by Google App Engine
This is Rietveld 408576698