/// /// /// declare module goog.testing { class DeferredTestCase extends DeferredTestCase__Class { } /** Fake class which should be extended to avoid inheriting static properties */ class DeferredTestCase__Class extends goog.testing.AsyncTestCase__Class { /** * A test case that can asynchronously wait on a Deferred object. * @param {string=} opt_name A descriptive name for the test case. * @constructor * @extends {goog.testing.AsyncTestCase} */ constructor(opt_name?: string); /** * Handler for when the test produces an error. * @param {Error|string} err The error object. * @protected * @throws Always throws a ControlBreakingException. */ onError(err: Error|string): void; /** * Handler for when the test succeeds. * @protected */ onSuccess(): void; /** * Adds a callback to update the wait message of this async test case. Using * this method generously also helps to document the test flow. * @param {string} msg The update wait status message. * @param {goog.async.Deferred} d The deferred object to add the waitForAsync * callback to. * @see goog.testing.AsyncTestCase#waitForAsync */ addWaitForAsync(msg: string, d: goog.async.Deferred): void; /** * Wires up given Deferred object to the test case, then starts the * goog.async.Deferred object's callback. * @param {!string|goog.async.Deferred} a The wait status message or the * deferred object to wait for. * @param {goog.async.Deferred=} opt_b The deferred object to wait for. */ waitForDeferred(a: string|goog.async.Deferred, opt_b?: goog.async.Deferred): void; } } declare module goog.testing.DeferredTestCase { /** * Preferred way of creating a DeferredTestCase. Creates one and initializes it * with the G_testRunner. * @param {string=} opt_name A descriptive name for the test case. * @return {!goog.testing.DeferredTestCase} The created DeferredTestCase. */ function createAndInstall(opt_name?: string): goog.testing.DeferredTestCase; }