OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 | 4 |
5 /** @fileoverview Common utilities for extension ui tests. */ | 5 /** @fileoverview Common utilities for extension ui tests. */ |
6 cr.define('extension_test_util', function() { | 6 cr.define('extension_test_util', function() { |
7 /** | 7 /** |
8 * A mock to test that clicking on an element calls a specific method. | 8 * A mock to test that clicking on an element calls a specific method. |
9 * @constructor | 9 * @constructor |
10 */ | 10 */ |
(...skipping 28 matching lines...) Expand all Loading... | |
39 */ | 39 */ |
40 function testVisible(parentEl, selector, expectedVisible, opt_expected) { | 40 function testVisible(parentEl, selector, expectedVisible, opt_expected) { |
41 var element = parentEl.$$(selector); | 41 var element = parentEl.$$(selector); |
42 var rect = element ? element.getBoundingClientRect() : null; | 42 var rect = element ? element.getBoundingClientRect() : null; |
43 var isVisible = !!rect && rect.width * rect.height > 0; | 43 var isVisible = !!rect && rect.width * rect.height > 0; |
44 expectEquals(expectedVisible, isVisible, selector); | 44 expectEquals(expectedVisible, isVisible, selector); |
45 if (expectedVisible && opt_expected && element) | 45 if (expectedVisible && opt_expected && element) |
46 expectEquals(opt_expected, element.textContent, selector); | 46 expectEquals(opt_expected, element.textContent, selector); |
47 } | 47 } |
48 | 48 |
49 /** | |
50 * Creates an ExtensionInfo object. | |
51 * @param {Object=} opt_properties A set of properties that will be used on | |
52 * the resulting ExtensionInfo (otherwise defaults will be used). | |
53 * @return {chrome.developerPrivate.ExtensionInfo} | |
54 */ | |
55 function createExtensionInfo(opt_properties) { | |
56 var id = opt_properties && opt_properties.hasOwnProperty('id') ? | |
57 opt_properties[id] : 'a'.repeat(32); | |
58 var baseUrl = 'chrome-extension://' + id + '/'; | |
59 var data = { | |
60 description: 'This is an extension', | |
61 iconUrl: 'chrome://extension-icon/' + id + '/24/0', | |
62 id: id, | |
63 incognitoAccess: {isEnabled: true, isActive: false}, | |
64 location: 'FROM_STORE', | |
65 name: 'Wonderful Extension', | |
66 state: 'ENABLED', | |
67 type: 'EXTENSION', | |
68 version: '2.0', | |
69 views: [{url: baseUrl + 'foo.html'}, {url: baseUrl + 'bar.html'}], | |
michaelpg
2015/11/18 09:08:46
not to nitpick, but if the caller passes {url: foo
Devlin
2015/11/18 17:16:59
It shouldn't be - views is the key on the object,
michaelpg
2015/11/18 20:01:17
Oh, baseUrl is generated from the id -- that was w
| |
70 } | |
71 if (opt_properties) { | |
michaelpg
2015/11/18 09:08:46
Object.assign(data, opt_properties); // even work
Devlin
2015/11/18 17:17:00
Rad. Done.
| |
72 Object.getOwnPropertyNames(opt_properties).forEach(function(name) { | |
73 data[name] = opt_properties[name]; | |
74 }); | |
75 } | |
76 return data; | |
77 } | |
78 | |
49 return { | 79 return { |
50 ClickMock: ClickMock, | 80 ClickMock: ClickMock, |
51 testVisible: testVisible, | 81 testVisible: testVisible, |
82 createExtensionInfo: createExtensionInfo, | |
52 }; | 83 }; |
53 }); | 84 }); |
OLD | NEW |