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

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

Issue 11882033: Telemetry support for extensions. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: wait for document ready state Created 7 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/extension_unittest.py
===================================================================
--- tools/telemetry/telemetry/extension_unittest.py (revision 0)
+++ tools/telemetry/telemetry/extension_unittest.py (revision 0)
@@ -0,0 +1,76 @@
+# Copyright (c) 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 os
+import shutil
+import tempfile
+import unittest
+
+from telemetry import browser_finder
+from telemetry import browser_options
+from telemetry import crx_id
+from telemetry import options_for_unittests
+from telemetry import run_tests
+
+class ExtensionTest(unittest.TestCase):
+ @run_tests.RequiresBrowserOfType('cros-chrome')
+ def testDefaultCrosExtensions(self):
+ options = options_for_unittests.GetCopy()
+ browser_to_create = browser_finder.FindBrowser(options)
+ with browser_to_create.Create() as b:
+ # file_manager, wallpaper_manager, echo extension.
+ default_extensions = ['hhaomjibdihmijegdhdafkllkbggdgoj',
+ 'obklkkbkpaoaejdabbfldmcfplpdgolj',
+ 'kddnkjkcjddckihglkfcickdhbmaodcn']
+ self.assertEquals(default_extensions, b.extensions.GetExtensionIds())
+
+ def testExtension(self):
+ options = options_for_unittests.GetCopy()
+ extension_path = os.path.join(os.path.dirname(__file__),
+ '..', 'unittest_data', 'simple_extension')
+ options = options_for_unittests.GetCopy()
+ options.extensions_to_load = [browser_options.ExtensionToLoad(
+ extension_path, False)]
+ browser_to_create = browser_finder.FindBrowser(options)
+ if browser_to_create:
+ with browser_to_create.Create() as b:
+ extension = b.extensions.GetExtensionByPath(extension_path)
+ assert extension
+ self.assertEquals(5,
+ extension.EvaluateJavaScript("simpleRightTriangle()"))
+
+ def testMultipleExtensions(self):
+ extension_dirs = [tempfile.mkdtemp() for i in range(4)]
+ src_extension_dir = os.path.abspath(os.path.join(os.path.dirname(__file__),
+ '..', 'unittest_data', '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 extension_dirs:
+ shutil.copy(manifest_path, d)
+ shutil.copy(script_path, d)
+ extension_ids = [crx_id.GetCRXAppID(d) for d in extension_dirs]
+ options = options_for_unittests.GetCopy()
+ options.extensions_to_load = [browser_options.ExtensionToLoad(
+ d, False) for d in extension_dirs]
+ browser_to_create = browser_finder.FindBrowser(options)
+ if browser_to_create:
+ with browser_to_create.Create() as b:
+ # Test len()
+ self.assertTrue(len(b.extensions) >= len(extension_ids))
+
+ # Test GetExtensionIds()
+ for e in extension_ids:
+ self.assertTrue(e in b.extensions.GetExtensionIds())
+
+ # Test iterator
+ count = 0
+ for e in b.extensions:
+ if e in extension_ids:
+ count += 1
+ self.assertEquals(count, len(extension_ids))
+
+ # Test GetExtensionByPath and GetExtensionById
+ for i in range(len(extension_ids)):
+ e = b.extensions.GetExtensionByPath(extension_dirs[i])
+ self.assertTrue(e)
+ self.assertEquals(b.extensions.GetExtensionById(extension_ids[i]), e)
Property changes on: tools/telemetry/telemetry/extension_unittest.py
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698