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

Side by Side Diff: tools/telemetry/telemetry/core/extension_unittest.py

Issue 12278015: [Telemetry] Reorganize everything. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-add shebangs. Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 import os 4 import os
5 import shutil 5 import shutil
6 import tempfile 6 import tempfile
7 import unittest 7 import unittest
8 8
9 from telemetry import browser_finder 9 from telemetry.core import browser_finder
10 from telemetry import extension_dict_backend 10 from telemetry.core import extension_to_load
11 from telemetry import extension_to_load 11 from telemetry.core.chrome import extension_dict_backend
12 from telemetry import options_for_unittests 12 from telemetry.test import options_for_unittests
13 13
14 class ExtensionTest(unittest.TestCase): 14 class ExtensionTest(unittest.TestCase):
15 def setUp(self): 15 def setUp(self):
16 extension_path = os.path.join(os.path.dirname(__file__), 16 extension_path = os.path.join(os.path.dirname(__file__),
17 '..', 'unittest_data', 'simple_extension') 17 '..', '..', 'unittest_data', 'simple_extension')
18 load_extension = extension_to_load.ExtensionToLoad(extension_path) 18 load_extension = extension_to_load.ExtensionToLoad(extension_path)
19 19
20 options = options_for_unittests.GetCopy() 20 options = options_for_unittests.GetCopy()
21 options.extensions_to_load = [load_extension] 21 options.extensions_to_load = [load_extension]
22 browser_to_create = browser_finder.FindBrowser(options) 22 browser_to_create = browser_finder.FindBrowser(options)
23 23
24 self._browser = None 24 self._browser = None
25 self._extension = None 25 self._extension = None
26 if not browser_to_create: 26 if not browser_to_create:
27 # May not find a browser that supports extensions. 27 # May not find a browser that supports extensions.
(...skipping 19 matching lines...) Expand all
47 EvaluateJavaScript should reconnect.""" 47 EvaluateJavaScript should reconnect."""
48 if not self._extension: 48 if not self._extension:
49 return 49 return
50 self._extension.Disconnect() 50 self._extension.Disconnect()
51 self.assertEquals(2, self._extension.EvaluateJavaScript('1+1')) 51 self.assertEquals(2, self._extension.EvaluateJavaScript('1+1'))
52 52
53 class NonExistentExtensionTest(unittest.TestCase): 53 class NonExistentExtensionTest(unittest.TestCase):
54 def testNonExistentExtensionPath(self): 54 def testNonExistentExtensionPath(self):
55 """Test that a non-existent extension path will raise an exception.""" 55 """Test that a non-existent extension path will raise an exception."""
56 extension_path = os.path.join(os.path.dirname(__file__), 56 extension_path = os.path.join(os.path.dirname(__file__),
57 '..', 'unittest_data', 'foo') 57 '..', '..', 'unittest_data', 'foo')
58 self.assertRaises(extension_to_load.ExtensionPathNonExistentException, 58 self.assertRaises(extension_to_load.ExtensionPathNonExistentException,
59 lambda: extension_to_load.ExtensionToLoad(extension_path)) 59 lambda: extension_to_load.ExtensionToLoad(extension_path))
60 60
61 def testExtensionNotLoaded(self): 61 def testExtensionNotLoaded(self):
62 """Querying an extension that was not loaded will return None""" 62 """Querying an extension that was not loaded will return None"""
63 extension_path = os.path.join(os.path.dirname(__file__), 63 extension_path = os.path.join(os.path.dirname(__file__),
64 '..', 'unittest_data', 'simple_extension') 64 '..', '..', 'unittest_data', 'simple_extension')
65 load_extension = extension_to_load.ExtensionToLoad(extension_path) 65 load_extension = extension_to_load.ExtensionToLoad(extension_path)
66 options = options_for_unittests.GetCopy() 66 options = options_for_unittests.GetCopy()
67 browser_to_create = browser_finder.FindBrowser(options) 67 browser_to_create = browser_finder.FindBrowser(options)
68 with browser_to_create.Create() as b: 68 with browser_to_create.Create() as b:
69 if b.supports_extensions: 69 if b.supports_extensions:
70 self.assertRaises(extension_dict_backend.ExtensionNotFoundException, 70 self.assertRaises(extension_dict_backend.ExtensionNotFoundException,
71 lambda: b.extensions[load_extension]) 71 lambda: b.extensions[load_extension])
72 72
73 class MultipleExtensionTest(unittest.TestCase): 73 class MultipleExtensionTest(unittest.TestCase):
74 def setUp(self): 74 def setUp(self):
75 """ Copy the manifest and background.js files of simple_extension to a 75 """ Copy the manifest and background.js files of simple_extension to a
76 number of temporary directories to load as extensions""" 76 number of temporary directories to load as extensions"""
77 self._extension_dirs = [tempfile.mkdtemp() 77 self._extension_dirs = [tempfile.mkdtemp()
78 for i in range(3)] # pylint: disable=W0612 78 for i in range(3)] # pylint: disable=W0612
79 src_extension_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 79 src_extension_dir = os.path.abspath(os.path.join(os.path.dirname(__file__),
80 '..', 'unittest_data', 'simple_extension')) 80 '..', '..', 'unittest_data', 'simple_extension'))
81 manifest_path = os.path.join(src_extension_dir, 'manifest.json') 81 manifest_path = os.path.join(src_extension_dir, 'manifest.json')
82 script_path = os.path.join(src_extension_dir, 'background.js') 82 script_path = os.path.join(src_extension_dir, 'background.js')
83 for d in self._extension_dirs: 83 for d in self._extension_dirs:
84 shutil.copy(manifest_path, d) 84 shutil.copy(manifest_path, d)
85 shutil.copy(script_path, d) 85 shutil.copy(script_path, d)
86 self._extensions_to_load = [extension_to_load.ExtensionToLoad(d) 86 self._extensions_to_load = [extension_to_load.ExtensionToLoad(d)
87 for d in self._extension_dirs] 87 for d in self._extension_dirs]
88 options = options_for_unittests.GetCopy() 88 options = options_for_unittests.GetCopy()
89 options.extensions_to_load = self._extensions_to_load 89 options.extensions_to_load = self._extensions_to_load
90 browser_to_create = browser_finder.FindBrowser(options) 90 browser_to_create = browser_finder.FindBrowser(options)
(...skipping 15 matching lines...) Expand all
106 # Test contains. 106 # Test contains.
107 loaded_extensions = filter(lambda e: e in self._browser.extensions, 107 loaded_extensions = filter(lambda e: e in self._browser.extensions,
108 self._extensions_to_load) 108 self._extensions_to_load)
109 self.assertEqual(len(loaded_extensions), len(self._extensions_to_load)) 109 self.assertEqual(len(loaded_extensions), len(self._extensions_to_load))
110 110
111 for load_extension in self._extensions_to_load: 111 for load_extension in self._extensions_to_load:
112 extension = self._browser.extensions[load_extension] 112 extension = self._browser.extensions[load_extension]
113 assert extension 113 assert extension
114 extension.ExecuteJavaScript('setTestVar("abcdef")') 114 extension.ExecuteJavaScript('setTestVar("abcdef")')
115 self.assertEquals('abcdef', extension.EvaluateJavaScript('_testVar')) 115 self.assertEquals('abcdef', extension.EvaluateJavaScript('_testVar'))
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/core/extension_to_load.py ('k') | tools/telemetry/telemetry/core/possible_browser.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698