| 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..8c5419f7b28bbdafe38a9988e75fa1a20f137f39
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/chromeos/chromevox/testing/fake_objects.js
|
| @@ -0,0 +1,44 @@
|
| +// Copyright 2014 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.
|
| +
|
| +/**
|
| + * Fakes a Chrome event that supports one listener.
|
| + * @constructor
|
| + * @extends {ChromeEvent}
|
| + */
|
| +function FakeChromeEvent() {
|
| + /**
|
| + * @private
|
| + * @type {Function}
|
| + */
|
| + this.listener_ = null;
|
| +}
|
| +
|
| +FakeChromeEvent.prototype = {
|
| + /**
|
| + * Fakes the corresponding call on a Chrome event. Sets the listener and
|
| + * fails the test if it is already set.
|
| + * @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 none.
|
| + * @return {Function} The event's listener.
|
| + */
|
| + getListener: function() {
|
| + assertNotEquals(null, this.listener_);
|
| + return this.listener_;
|
| + },
|
| +
|
| + /**
|
| + * Asserts that this object doesn't have any listener added.
|
| + */
|
| + assertNoListener: function() {
|
| + assertEquals(null, this.listener_);
|
| + }
|
| +};
|
|
|