Chromium Code Reviews| Index: remoting/webapp/unittests/base_unittest.js |
| diff --git a/remoting/webapp/unittests/base_unittest.js b/remoting/webapp/unittests/base_unittest.js |
| index 6ffc8c90b4b3b811b3620807a776c1f1cee9f8ed..c987c9a8ff1b6eb5b2acd28933e45059155c4f7b 100644 |
| --- a/remoting/webapp/unittests/base_unittest.js |
| +++ b/remoting/webapp/unittests/base_unittest.js |
| @@ -22,14 +22,14 @@ test('mix(dest, src) should assert if properties are overwritten', |
| var src = { a: 'a', b: 'b'}; |
| var dest = { a: 'a'}; |
| - sinon.spy(base.debug, 'assert'); |
| + sinon.$setupStub(base.debug, 'assert'); |
| try { |
| base.mix(dest, src); |
| } catch (e) { |
| } finally { |
| sinon.assert.called(base.debug.assert); |
| - base.debug.assert.restore(); |
| + base.debug.assert.$testStub.restore(); |
| } |
| }); |
| @@ -72,9 +72,14 @@ test('modify the original after deepCopy(obj) should not affect the copy', |
| test('dispose(obj) should invoke the dispose method on |obj|', |
| function() { |
| - var obj = { |
| - dispose: sinon.spy() |
| - }; |
| + /** |
| + * @constructor |
| + * @implements {base.Disposable} |
| + */ |
| + base.MockDisposable = function() {}; |
| + base.MockDisposable.prototype.dispose = sinon.spy(); |
| + |
| + var obj = new base.MockDisposable(); |
| base.dispose(obj); |
| sinon.assert.called(obj.dispose); |
| }); |
| @@ -111,9 +116,10 @@ test('escapeHTML(str) should escape special characters', function() { |
| }); |
| QUnit.asyncTest('Promise.sleep(delay) should fulfill the promise after |delay|', |
| + /** @suppress {reportUnknownTypes|checkVars|checkTypes} */ |
|
kelvinp
2015/02/28 03:03:52
what is the unknown type here?
garykac
2015/02/28 03:28:23
'this'. And @this didn't help. I added a comment.
|
| function() { |
| var isCalled = false; |
| - var clock = this.clock; |
| + var clock = /** @type {QUnit.Clock} */ (this.clock); |
| base.Promise.sleep(100).then(function(){ |
| isCalled = true; |
| @@ -129,18 +135,18 @@ QUnit.asyncTest('Promise.sleep(delay) should fulfill the promise after |delay|', |
| window.requestAnimationFrame(function(){ |
| ok(!isCalled, 'Promise.sleep() should not be fulfilled prematurely.'); |
| clock.tick(101); |
| - }.bind(this)); |
| + }); |
| }); |
| QUnit.asyncTest('Promise.negate should fulfill iff the promise does not.', |
| function() { |
| base.Promise.negate(Promise.reject()).then( |
| - ok.bind(null, true), |
| - ok.bind(null, false)); |
| + QUnit.ok.bind(null, true), |
| + /** @type {Function} */ (QUnit.ok.bind(null, false))); |
| base.Promise.negate(Promise.resolve()).then( |
| - ok.bind(null, false), |
| - ok.bind(null, true)); |
| + QUnit.ok.bind(null, false), |
| + /** @type {Function} */ (QUnit.ok.bind(null, true))); |
| window.requestAnimationFrame(function(){ |
| QUnit.start(); |
| }); |
| @@ -149,21 +155,25 @@ QUnit.asyncTest('Promise.negate should fulfill iff the promise does not.', |
| module('base.Deferred'); |
| QUnit.asyncTest('resolve() should fulfill the underlying promise.', function() { |
| + /** @returns {Promise} */ |
| function async() { |
| var deferred = new base.Deferred(); |
| deferred.resolve('bar'); |
| return deferred.promise(); |
| } |
| - async().then(function(value){ |
| - QUnit.equal(value, 'bar'); |
| - QUnit.start(); |
| - }, function() { |
| - QUnit.ok(false, 'The reject handler should not be invoked.'); |
| - }); |
| + async().then( |
| + /** @param {string} value */ |
| + function(value){ |
| + QUnit.equal(value, 'bar'); |
| + QUnit.start(); |
| + }, function() { |
| + QUnit.ok(false, 'The reject handler should not be invoked.'); |
| + }); |
| }); |
| QUnit.asyncTest('reject() should fail the underlying promise.', function() { |
| + /** @returns {Promise} */ |
| function async() { |
| var deferred = new base.Deferred(); |
| deferred.reject('bar'); |
| @@ -179,6 +189,7 @@ QUnit.asyncTest('reject() should fail the underlying promise.', function() { |
| }); |
| +/** @type {base.EventSourceImpl} */ |
| var source = null; |
| var listener = null; |
| @@ -229,13 +240,13 @@ test('raiseEvent() should not invoke listeners of a different event', |
| test('raiseEvent() should assert when undeclared events are raised', |
| function() { |
| - sinon.spy(base.debug, 'assert'); |
| + sinon.$setupStub(base.debug, 'assert'); |
| try { |
| source.raiseEvent('undefined'); |
| } catch (e) { |
| } finally { |
| sinon.assert.called(base.debug.assert); |
| - base.debug.assert.restore(); |
| + base.debug.assert.$testStub.restore(); |
| } |
| }); |
| @@ -268,6 +279,7 @@ test('removeEventListener() should work even if the listener ' + |
| }); |
| test('encodeUtf8() can encode UTF8 strings', function() { |
| + /** @type {function(ArrayBuffer):Array} */ |
| function toJsArray(arrayBuffer) { |
| var result = []; |
| var array = new Uint8Array(arrayBuffer); |