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

Unified Diff: appengine/config_service/ui/bower_components/sinon-chai/README.md

Issue 2923973003: Added base template for config ui. (Closed)
Patch Set: Created 3 years, 6 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: appengine/config_service/ui/bower_components/sinon-chai/README.md
diff --git a/appengine/config_service/ui/bower_components/sinon-chai/README.md b/appengine/config_service/ui/bower_components/sinon-chai/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..b9112b75508ecdcfd9005e8c878327d01768884b
--- /dev/null
+++ b/appengine/config_service/ui/bower_components/sinon-chai/README.md
@@ -0,0 +1,256 @@
+# Sinon.JS Assertions for Chai
+
+**Sinon–Chai** provides a set of custom assertions for using the [Sinon.JS][] spy, stub, and mocking framework with the
+[Chai][] assertion library. You get all the benefits of Chai with all the powerful tools of Sinon.JS.
+
+Instead of using Sinon.JS's assertions:
+
+```javascript
+sinon.assertCalledWith(mySpy, "foo");
+```
+
+or awkwardly trying to use Chai's `should` or `expect` interfaces on spy properties:
+
+```javascript
+mySpy.calledWith("foo").should.be.ok;
+expect(mySpy.calledWith("foo")).to.be.ok;
+```
+
+you can say
+
+```javascript
+mySpy.should.have.been.calledWith("foo");
+expect(mySpy).to.have.been.calledWith("foo");
+```
+
+## Assertions
+
+All of your favorite Sinon.JS assertions made their way into Sinon–Chai. We show the `should` syntax here; the `expect`
+equivalent is also available.
+
+<table>
+ <thead>
+ <tr>
+ <th>Sinon.JS property/method</th>
+ <th>Sinon–Chai assertion</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>called</td>
+ <td>spy.should.have.been.called</td>
+ </tr>
+ <tr>
+ <td>callCount</td>
+ <td>spy.should.have.callCount(n)</td>
+ </tr>
+ <tr>
+ <td>calledOnce</td>
+ <td>spy.should.have.been.calledOnce</td>
+ </tr>
+ <tr>
+ <td>calledTwice</td>
+ <td>spy.should.have.been.calledTwice</td>
+ </tr>
+ <tr>
+ <td>calledThrice</td>
+ <td>spy.should.have.been.calledThrice</td>
+ </tr>
+ <tr>
+ <td>calledBefore</td>
+ <td>spy1.should.have.been.calledBefore(spy2)</td>
+ </tr>
+ <tr>
+ <td>calledAfter</td>
+ <td>spy1.should.have.been.calledAfter(spy2)</td>
+ </tr>
+ <tr>
+ <td>calledImmediatelyBefore</td>
+ <td>spy.should.have.been.calledImmediatelyBefore(spy2)</td>
+ </tr>
+ <tr>
+ <td>calledImmediatelyAfter</td>
+ <td>spy.should.have.been.calledImmediatelyAfter(spy2)</td>
+ </tr>
+ <tr>
+ <td>calledWithNew</td>
+ <td>spy.should.have.been.calledWithNew</td>
+ </tr>
+ <tr>
+ <td>alwaysCalledWithNew</td>
+ <td>spy.should.always.have.been.calledWithNew</td>
+ </tr>
+ <tr>
+ <td>calledOn</td>
+ <td>spy.should.have.been.calledOn(context)</td>
+ </tr>
+ <tr>
+ <td>alwaysCalledOn</td>
+ <td>spy.should.always.have.been.calledOn(context)</td>
+ </tr>
+ <tr>
+ <td>calledWith</td>
+ <td>spy.should.have.been.calledWith(...args)</td>
+ </tr>
+ <tr>
+ <td>alwaysCalledWith</td>
+ <td>spy.should.always.have.been.calledWith(...args)</td>
+ </tr>
+ <tr>
+ <td>calledWithExactly</td>
+ <td>spy.should.have.been.calledWithExactly(...args)</td>
+ </tr>
+ <tr>
+ <td>alwaysCalledWithExactly</td>
+ <td>spy.should.always.have.been.calledWithExactly(...args)</td>
+ </tr>
+ <tr>
+ <td>calledWithMatch</td>
+ <td>spy.should.have.been.calledWithMatch(...args)</td>
+ </tr>
+ <tr>
+ <td>alwaysCalledWithMatch</td>
+ <td>spy.should.always.have.been.calledWithMatch(...args)</td>
+ </tr>
+ <tr>
+ <td>returned</td>
+ <td>spy.should.have.returned(returnVal)</td>
+ </tr>
+ <tr>
+ <td>alwaysReturned</td>
+ <td>spy.should.have.always.returned(returnVal)</td>
+ </tr>
+ <tr>
+ <td>threw</td>
+ <td>spy.should.have.thrown(errorObjOrErrorTypeStringOrNothing)</td>
+ </tr>
+ <tr>
+ <td>alwaysThrew</td>
+ <td>spy.should.have.always.thrown(errorObjOrErrorTypeStringOrNothing)</td>
+ </tr>
+ </tbody>
+</table>
+
+For more information on the behavior of each assertion, see
+[the documentation for the corresponding spy methods][spymethods]. These of course work on not only spies, but
+individual spy calls, stubs, and mocks as well.
+
+Note that you can negate any assertion with Chai's `.not`. E. g. for `notCalled` use `spy.should.have.not.been.called`.
+
+For `assert` interface there is no need for this library. You can install [Sinon.JS assertions][sinonassertions] right into Chai's `assert` object with `expose`:
+
+```javascript
+var chai = require("chai");
+var sinon = require("sinon");
+
+sinon.assert.expose(chai.assert, { prefix: "" });
+```
+
+## Examples
+
+Using Chai's `should`:
+
+```javascript
+"use strict";
+var chai = require("chai");
+var sinon = require("sinon");
+var sinonChai = require("sinon-chai");
+chai.should();
+chai.use(sinonChai);
+
+function hello(name, cb) {
+ cb("hello " + name);
+}
+
+describe("hello", function () {
+ it("should call callback with correct greeting", function () {
+ var cb = sinon.spy();
+
+ hello("foo", cb);
+
+ cb.should.have.been.calledWith("hello foo");
+ });
+});
+```
+
+Using Chai's `expect`:
+
+```javascript
+"use strict";
+var chai = require("chai");
+var sinon = require("sinon");
+var sinonChai = require("sinon-chai");
+var expect = chai.expect;
+chai.use(sinonChai);
+
+function hello(name, cb) {
+ cb("hello " + name);
+}
+
+describe("hello", function () {
+ it("should call callback with correct greeting", function () {
+ var cb = sinon.spy();
+
+ hello("foo", cb);
+
+ expect(cb).to.have.been.calledWith("hello foo");
+ });
+});
+```
+
+## Installation and Usage
+
+### Node
+
+Do an `npm install sinon-chai` to get up and running. Then:
+
+```javascript
+var chai = require("chai");
+var sinonChai = require("sinon-chai");
+
+chai.use(sinonChai);
+```
+
+You can of course put this code in a common test fixture file; for an example using [Mocha][], see
+[the Sinon–Chai tests themselves][fixturedemo].
+
+### AMD
+
+Sinon–Chai supports being used as an [AMD][] module, registering itself anonymously (just like Chai). So, assuming you
+have configured your loader to map the Chai and Sinon–Chai files to the respective module IDs `"chai"` and
+`"sinon-chai"`, you can use them as follows:
+
+```javascript
+define(function (require, exports, module) {
+ var chai = require("chai");
+ var sinonChai = require("sinon-chai");
+
+ chai.use(sinonChai);
+});
+```
+
+### `<script>` tag
+
+If you include Sinon–Chai directly with a `<script>` tag, after the one for Chai itself, then it will automatically plug
+in to Chai and be ready for use. Note that you'll want to get the latest browser build of Sinon.JS as well:
+
+```html
+<script src="chai.js"></script>
+<script src="sinon-chai.js"></script>
+<script src="sinon.js"></script>
+```
+
+### Ruby on Rails
+
+Thanks to [Cymen Vig][], there's now [a Ruby gem][] of Sinon–Chai that integrates it with the Rails asset pipeline!
+
+
+[Sinon.JS]: http://sinonjs.org/
+[Chai]: http://chaijs.com/
+[spymethods]: http://sinonjs.org/docs/#spies-api
+[sinonassertions]: http://sinonjs.org/docs/#assertions
+[Mocha]: https://mochajs.org/
+[fixturedemo]: https://github.com/domenic/sinon-chai/tree/master/test/
+[AMD]: https://github.com/amdjs/amdjs-api/wiki/AMD
+[Cymen Vig]: https://github.com/cymen
+[a Ruby gem]: https://github.com/cymen/sinon-chai-rails

Powered by Google App Engine
This is Rietveld 408576698