123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- goog.setTestOnly('goog.testing.DeferredTestCase');
- goog.provide('goog.testing.DeferredTestCase');
- goog.require('goog.testing.AsyncTestCase');
- goog.require('goog.testing.TestCase');
- goog.testing.DeferredTestCase = function(opt_name) {
- goog.testing.AsyncTestCase.call(this, opt_name);
- };
- goog.inherits(goog.testing.DeferredTestCase, goog.testing.AsyncTestCase);
- goog.testing.DeferredTestCase.createAndInstall = function(opt_name) {
- var deferredTestCase = new goog.testing.DeferredTestCase(opt_name);
- goog.testing.TestCase.initializeTestRunner(deferredTestCase);
- return deferredTestCase;
- };
- goog.testing.DeferredTestCase.prototype.onError = function(err) {
- this.doAsyncError(err);
- };
- goog.testing.DeferredTestCase.prototype.onSuccess = function() {
- this.continueTesting();
- };
- goog.testing.DeferredTestCase.prototype.addWaitForAsync = function(msg, d) {
- d.addCallback(goog.bind(this.waitForAsync, this, msg));
- };
- goog.testing.DeferredTestCase.prototype.waitForDeferred = function(a, opt_b) {
- var waitMsg;
- var deferred;
- switch (arguments.length) {
- case 1:
- deferred = a;
- waitMsg = null;
- break;
- case 2:
- deferred = opt_b;
- waitMsg = a;
- break;
- default:
- throw Error('Invalid number of arguments');
- }
- deferred.addCallbacks(this.onSuccess, this.onError, this);
- if (!waitMsg) {
- waitMsg = 'Waiting for deferred in ' + this.getCurrentStepName();
- }
- this.waitForAsync( (waitMsg));
- deferred.callback(true);
- };
|