Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2668)

Unified Diff: remoting/webapp/js_proto/sinon_proto.js

Issue 959963002: [Chromoting] Enable jscompile for webapp unittests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/webapp/js_proto/sinon_proto.js
diff --git a/remoting/webapp/js_proto/sinon_proto.js b/remoting/webapp/js_proto/sinon_proto.js
new file mode 100644
index 0000000000000000000000000000000000000000..a58873a8ab541f25db0e889f0e0c0923eae82f83
--- /dev/null
+++ b/remoting/webapp/js_proto/sinon_proto.js
@@ -0,0 +1,117 @@
+// Copyright 2015 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.
+
+// This file contains various hacks needed to inform JSCompiler of various
+// test-specific properties and methods. It is used only with JSCompiler to
+// verify the type-correctness of our code.
+
+var sinon = sinon || {};
+
+/** @type {Object} */
+sinon.assert = {};
+
+/**
+ * @param {(sinon.$spy|Function)} f
+ */
+sinon.assert.called = function(f) {};
+
+/**
+ * @param {(sinon.$spy|Function)} f
+ */
+sinon.assert.calledOnce = function(f) {};
+
+/**
+ * @param {(sinon.$spy|Function)} f
+ * @param {...} data
+ */
+sinon.assert.calledWith = function(f, data) {};
+
+/**
+ * @param {(sinon.$spy|Function)} f
+ */
+sinon.assert.notCalled = function(f) {};
+
+/** @constructor */
+sinon.expectation = function() {};
kelvinp 2015/02/26 00:31:30 Use upper case for type names s/expectation/Expect
garykac 2015/02/28 02:33:33 Done.
+
+/** @return {sinon.expectation} */
+sinon.expectation.prototype.once = function() {};
+
+/**
+ * @param {...} data
+ * @return {sinon.expectation}
+ */
+sinon.expectation.prototype.withArgs = function(data) {};
+
+/** @return {boolean} */
+sinon.expectation.prototype.verify = function() {};
+
+/** @param {...} data */
+sinon.expectation.prototype.returns = function(data) {};
+
+/** @constructor */
+sinon.$mock = function() {};
kelvinp 2015/02/26 00:31:30 Use upper case for type names s/$mock/Mock Not nee
garykac 2015/02/28 02:33:33 Done.
+
+/**
+ * @param {Object} obj
+ * @return {sinon.$mock}
+ */
+sinon.mock = function(obj) {};
+
+/**
+ * @param {string} method
+ * @return {sinon.expectation}
+ */
+sinon.$mock.prototype.expects = function(method) {};
+
+/** @type {function(...):Function} */
kelvinp 2015/02/26 00:31:30 should it be /** * @param {...} var_args * @ret
garykac 2015/02/28 02:33:33 They're the same thing.
+sinon.spy = function() {};
+
+/**
+ * This is a jscompile type that can be OR'ed with the actual type to make
+ * jscompile aware of the sinon.spy functions that are added to the base
+ * type.
+ * Example: Instead of specifying a type of
+ * {function():void}
+ * the following can be used to add the sinon.spy functions:
+ * {(sinon.$spy|function():void)}
+ *
+ * @constructor
+ */
+sinon.$spy = function() {};
kelvinp 2015/02/26 00:31:30 Use upper case for type names s/$spy/Spy
garykac 2015/02/28 02:33:33 Done.
+
+/** @type {number} */
+sinon.$spy.prototype.callCount;
+
+/** @type {boolean} */
+sinon.$spy.prototype.called = false;
+
+/** @type {function(...):boolean} */
+sinon.$spy.prototype.calledWith = function() {};
+
+/** @type {function(number):{args:Array}} */
+sinon.$spy.prototype.getCall = function(index) {};
+
+sinon.$spy.prototype.reset = function() {};
+
+/**
+ * @param {Object} obj
+ * @param {string} method
+ * @return {sinon.$testStub}
+ */
+sinon.stub = function(obj, method) {};
+
+/** @constructor */
+sinon.$testStub = function() {};
kelvinp 2015/02/26 00:31:30 Use upper case for type names s/$testStub/TestStub
garykac 2015/02/28 02:33:33 Done.
+
+/** @type {function(number):{args:Array}} */
+sinon.$testStub.prototype.getCall = function(index) {};
+
+sinon.$testStub.prototype.restore = function() {};
+
+/** @param {*} a */
+sinon.$testStub.prototype.returns = function(a) {};
+
+/** @type {function(string, (string|Array<string>)=):sinon.expectation} */
+sinon.$testStub.prototype.withArgs = function(messageName, opt_args) {};

Powered by Google App Engine
This is Rietveld 408576698