Chromium Code Reviews| Index: chrome/browser/resources/chromeos/chromevox/testing/fake_objects.js |
| diff --git a/chrome/browser/resources/chromeos/chromevox/testing/fake_objects.js b/chrome/browser/resources/chromeos/chromevox/testing/fake_objects.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5a0291f5c7660e5c764ae642964352b493d8964d |
| --- /dev/null |
| +++ b/chrome/browser/resources/chromeos/chromevox/testing/fake_objects.js |
| @@ -0,0 +1,40 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
|
David Tseng
2014/09/08 21:45:59
Maybe call this file fake_event.js?
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +/** |
| + * Fakes a Chrome event that supports one listener. |
| + * @constructor |
|
David Tseng
2014/09/08 21:45:59
Can you inherit from a ChromeEvent?
David Tseng
2014/09/09 20:37:48
Maybe call this class FakeChromeEvent then :).
|
| + */ |
| +function FakeEvent() { |
| + /** @private {Function} */ |
|
David Tseng
2014/09/08 21:46:00
Is this valid js doc?
|
| + this.listener_ = null; |
| +} |
| + |
| +FakeEvent.prototype = { |
| + /** |
| + * Fakes the corresponding call on a Chrome event. Sets the listener and |
| + * fails the test if it is already set. |
|
David Tseng
2014/09/08 21:45:59
Why? This isn't the behavior of ChromeEvent.
|
| + * @param {Function} listener The new listener. |
| + */ |
| + addListener: function(listener) { |
| + this.assertNoListener(); |
| + this.listener_ = listener; |
| + }, |
| + |
| + /** |
| + * Gets the listener of the event, failing the test if there's noone. |
|
David Tseng
2014/09/08 21:45:59
nit: none
|
| + * @return {Function} The event's listener. |
| + */ |
| + getListener: function() { |
|
David Tseng
2014/09/08 21:45:59
Is this part of the ChromeEvent interface?
|
| + assertNotEquals(null, this.listener_); |
| + return this.listener_; |
| + }, |
| + |
| + /** |
| + * Asserts that this object doesn't have any listener added. |
| + */ |
| + assertNoListener: function() { |
| + assertEquals(null, this.listener_); |
| + } |
| +}; |