| 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
|
|
|
|
|