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 |