Chromium Code Reviews| Index: chrome/test/data/webui/test_api.js |
| diff --git a/chrome/test/data/webui/test_api.js b/chrome/test/data/webui/test_api.js |
| index 140efe7d4b5d9c1743d9ac1f96e095b6b39ba325..e5556d699435c5fd9f8cf35822c8c9ddd58b1672 100644 |
| --- a/chrome/test/data/webui/test_api.js |
| +++ b/chrome/test/data/webui/test_api.js |
| @@ -110,6 +110,30 @@ var testing = {}; |
| testShouldFail: false, |
| /** |
| + * Create a new class to handle |messageNames|, assign it to |
| + * |this.mockHandler|, register its messages and return it. |
| + * @return {Mock} Mock handler class assigned to |this.mockHandler|. |
| + */ |
| + makeAndRegisterMockHandler: function(messageNames) { |
| + var MockClass = makeMockClass(messageNames); |
| + this.mockHandler = mock(MockClass); |
| + registerMockMessageCallbacks(this.mockHandler, MockClass); |
| + return this.mockHandler; |
| + }, |
| + |
| + /** |
| + * Create a new class to handle |functionNames|, assign it to |
| + * |this.mockGlobals|, register its global overrides, and return it. |
| + * @return {Mock} Mock handler class assigned to |this.mockGlobals|. |
| + */ |
| + makeAndRegisterMockGlobals: function(functionNames) { |
|
James Hawkins
2011/11/09 17:15:56
Is this referring to JS globals? Why are we mocki
James Hawkins
2011/11/10 00:24:43
Still not answered.
Sheridan Rawlins
2011/11/10 02:02:12
Yes. This gives the facility to stub out an exist
|
| + var MockClass = makeMockClass(functionNames); |
| + this.mockGlobals = mock(MockClass); |
| + registerMockGlobals(this.mockGlobals, MockClass); |
| + return this.mockGlobals; |
| + }, |
| + |
| + /** |
| * Override this method to perform initialization during preload (such as |
| * creating mocks and registering handlers). |
| * @type {Function} |
| @@ -388,6 +412,25 @@ var testing = {}; |
| } |
| /** |
| + * Empty function for use in making mocks. |
| + * @const |
| + */ |
| + function emptyFunction() {} |
| + |
| + /** |
| + * Make a mock from the supplied |methodNames| array. |
| + * @param {Array.<string>} methodNames Array of names of methods to mock. |
| + * @return {Function} Constructor with prototype filled in with methods |
| + * matching |methodNames|. |
| + */ |
| + function makeMockClass(methodNames) { |
| + function MockConstructor() {} |
| + for(var i = 0; i < methodNames.length; i++) |
| + MockConstructor.prototype[methodNames[i]] = emptyFunction; |
| + return MockConstructor; |
| + } |
| + |
| + /** |
| * Register all methods of {@code mockClass.prototype} as overrides to global |
| * functions of the same name as the method, using the proxy of the |
| * |mockObject| to handle the functions. |