Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: sinonjs/sinon
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v11.1.0
Choose a base ref
...
head repository: sinonjs/sinon
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v11.1.1
Choose a head ref
  • 5 commits
  • 80 files changed
  • 1 contributor

Commits on May 25, 2021

  1. Copy the full SHA
    b901a02 View commit details
  2. Copy the full SHA
    31be9a5 View commit details

Commits on May 26, 2021

  1. Fix #2379 by using v7 of supports-color

    Forces the users on ES2018, while we say we use ES2017
    fatso83 committed May 26, 2021
    Copy the full SHA
    b18193e View commit details
  2. 1
    Copy the full SHA
    03a5ca0 View commit details
  3. 11.1.1

    fatso83 committed May 26, 2021
    Copy the full SHA
    a9801c9 View commit details
Showing with 21,038 additions and 95 deletions.
  1. +5 −0 CHANGELOG.md
  2. +1 −1 docs/_config.yml
  3. +2 −1 docs/_releases/latest.md
  4. +17 −0 docs/_releases/latest/examples/fakes-1-using-fakes-instead-of-spies.test.js
  5. +17 −0 docs/_releases/latest/examples/fakes-10-firstArg.test.js
  6. +21 −0 docs/_releases/latest/examples/fakes-11-lastArg.test.js
  7. +20 −0 docs/_releases/latest/examples/fakes-12-adding-fake-to-system-under-test.test.js
  8. +21 −0 docs/_releases/latest/examples/fakes-2-using-fakes-instead-of-stubs.test.js
  9. +14 −0 docs/_releases/latest/examples/fakes-3-creating-without-behaviour.test.js
  10. +13 −0 docs/_releases/latest/examples/fakes-4-creating-with-custom-behaviour.test.js
  11. +12 −0 docs/_releases/latest/examples/fakes-5-returns.test.js
  12. +13 −0 docs/_releases/latest/examples/fakes-6-throws.test.js
  13. +23 −0 docs/_releases/latest/examples/fakes-7-yields.test.js
  14. +23 −0 docs/_releases/latest/examples/fakes-8-yields-async.test.js
  15. +20 −0 docs/_releases/latest/examples/fakes-9-callback.test.js
  16. +4 −2 docs/_releases/latest/examples/run-test.sh
  17. +66 −78 docs/_releases/latest/fake-xhr-and-server.md
  18. +60 −4 docs/_releases/latest/fakes.md
  19. +52 −0 docs/_releases/latest/promises.md
  20. +1 −1 docs/_releases/latest/sandbox.md
  21. +1 −2 docs/_releases/latest/stubs.md
  22. +39 −0 docs/_releases/v11.1.0.md
  23. +190 −0 docs/_releases/v11.1.0/assertions.md
  24. +17 −0 docs/_releases/v11.1.0/examples/.eslintrc.yml
  25. +1 −0 docs/_releases/v11.1.0/examples/.gitignore
  26. +17 −0 docs/_releases/v11.1.0/examples/fakes-1-using-fakes-instead-of-spies.test.js
  27. +17 −0 docs/_releases/v11.1.0/examples/fakes-10-firstArg.test.js
  28. +21 −0 docs/_releases/v11.1.0/examples/fakes-11-lastArg.test.js
  29. +20 −0 docs/_releases/v11.1.0/examples/fakes-12-adding-fake-to-system-under-test.test.js
  30. +21 −0 docs/_releases/v11.1.0/examples/fakes-2-using-fakes-instead-of-stubs.test.js
  31. +14 −0 docs/_releases/v11.1.0/examples/fakes-3-creating-without-behaviour.test.js
  32. +13 −0 docs/_releases/v11.1.0/examples/fakes-4-creating-with-custom-behaviour.test.js
  33. +12 −0 docs/_releases/v11.1.0/examples/fakes-5-returns.test.js
  34. +13 −0 docs/_releases/v11.1.0/examples/fakes-6-throws.test.js
  35. +23 −0 docs/_releases/v11.1.0/examples/fakes-7-yields.test.js
  36. +23 −0 docs/_releases/v11.1.0/examples/fakes-8-yields-async.test.js
  37. +20 −0 docs/_releases/v11.1.0/examples/fakes-9-callback.test.js
  38. +22 −0 docs/_releases/v11.1.0/examples/package.json
  39. +30 −0 docs/_releases/v11.1.0/examples/run-test.sh
  40. +16 −0 docs/_releases/v11.1.0/examples/spies-1-pubsub.test.js
  41. +44 −0 docs/_releases/v11.1.0/examples/spies-2-wrap-object-methods.test.js
  42. +32 −0 docs/_releases/v11.1.0/examples/spies-3-wrap-existing-method.test.js
  43. +18 −0 docs/_releases/v11.1.0/examples/spies-4-pubsub-message-1.test.js
  44. +18 −0 docs/_releases/v11.1.0/examples/spies-5-pubsub-message-2.test.js
  45. +18 −0 docs/_releases/v11.1.0/examples/spies-6-pubsub-message-3.test.js
  46. +18 −0 docs/_releases/v11.1.0/examples/spies-7-with-args.test.js
  47. +31 −0 docs/_releases/v11.1.0/examples/spies-8-spy-call.test.js
  48. +35 −0 docs/_releases/v11.1.0/examples/stubs-1-pubsub.test.js
  49. +18 −0 docs/_releases/v11.1.0/examples/stubs-10-use-promise-library.test.js
  50. +24 −0 docs/_releases/v11.1.0/examples/stubs-12-yield-to.test.js
  51. +17 −0 docs/_releases/v11.1.0/examples/stubs-14-add-behavior.test.js
  52. +19 −0 docs/_releases/v11.1.0/examples/stubs-15-replace-getter.test.js
  53. +22 −0 docs/_releases/v11.1.0/examples/stubs-16-define-new-setter.test.js
  54. +17 −0 docs/_releases/v11.1.0/examples/stubs-17-define-new-value.test.js
  55. +18 −0 docs/_releases/v11.1.0/examples/stubs-18-restore-values.test.js
  56. +19 −0 docs/_releases/v11.1.0/examples/stubs-2-different-args.test.js
  57. +18 −0 docs/_releases/v11.1.0/examples/stubs-3-sequential-interactions.test.js
  58. +25 −0 docs/_releases/v11.1.0/examples/stubs-4-sequential-with-args.test.js
  59. +18 −0 docs/_releases/v11.1.0/examples/stubs-5-reset-behaviour.test.js
  60. +21 −0 docs/_releases/v11.1.0/examples/stubs-6-reset-history.test.js
  61. +20 −0 docs/_releases/v11.1.0/examples/stubs-7-call-fake.test.js
  62. +26 −0 docs/_releases/v11.1.0/examples/stubs-8-call-through.test.js
  63. +23 −0 docs/_releases/v11.1.0/examples/stubs-9-call-through-with-new.test.js
  64. +171 −0 docs/_releases/v11.1.0/fake-timers.md
  65. +353 −0 docs/_releases/v11.1.0/fake-xhr-and-server.md
  66. +277 −0 docs/_releases/v11.1.0/fakes.md
  67. +51 −0 docs/_releases/v11.1.0/general-setup.md
  68. +18 −0 docs/_releases/v11.1.0/json-p.md
  69. +239 −0 docs/_releases/v11.1.0/matchers.md
  70. +155 −0 docs/_releases/v11.1.0/mocks.md
  71. +52 −0 docs/_releases/v11.1.0/promises.md
  72. +340 −0 docs/_releases/v11.1.0/sandbox.md
  73. +381 −0 docs/_releases/v11.1.0/spies.md
  74. +145 −0 docs/_releases/v11.1.0/spy-call.md
  75. +497 −0 docs/_releases/v11.1.0/stubs.md
  76. +45 −0 docs/_releases/v11.1.0/utils.md
  77. +9 −0 docs/changelog.md
  78. +16,845 −0 docs/releases/sinon-11.1.0.js
  79. +4 −4 package-lock.json
  80. +2 −2 package.json
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@

11.0.1 / 2021-05-26
==================

* Fix #2379 by using v7 of supports-color

11.1.0 / 2021-05-25
==================

2 changes: 1 addition & 1 deletion docs/_config.yml
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ description: >-
url: 'https://sinonjs.org'
github_username: sinonjs
sinon:
current_release: v11.0.0
current_release: v11.1.0
markdown: kramdown
kramdown:
input: GFM
3 changes: 2 additions & 1 deletion docs/_releases/latest.md
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
layout: page
title: API documentation - Sinon.JS
skip_ad: true
release_id: v11.0.0
release_id: v11.1.0
---

# {{page.title}} - `{{page.release_id}}`
@@ -15,6 +15,7 @@ This page contains the entire Sinon.JS API documentation along with brief introd
- [Stubs](./stubs)
- [Mocks](./mocks)
- [Spy calls](./spy-call)
- [Promises](./promises)
- [Fake timers](./fake-timers)
- [Fake <code>XHR</code> and server](./fake-xhr-and-server)
- [JSON-P](./json-p)
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should be able to be used instead of spies", function () {
const foo = {
bar: () => "baz",
};
// wrap existing method without changing its behaviour
const fake = sinon.replace(foo, "bar", sinon.fake(foo.bar));

assert.equals(fake(), "baz"); // behaviour is the same
assert.equals(fake.callCount, 1); // calling information is saved
});
});
17 changes: 17 additions & 0 deletions docs/_releases/latest/examples/fakes-10-firstArg.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should have working firstArg property", function () {
const f = sinon.fake();
const date1 = new Date();
const date2 = new Date();

f(date1, 1, 2);
f(date2, 1, 2);

assert.isTrue(f.firstArg === date2);
});
});
21 changes: 21 additions & 0 deletions docs/_releases/latest/examples/fakes-11-lastArg.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should have working lastArg property", function () {
const f = sinon.fake();
const date1 = new Date();
const date2 = new Date();

f(1, 2, date1);
f(1, 2, date2);

assert.isTrue(f.lastArg === date2);
// spy call methods:
assert.isTrue(f.getCall(0).lastArg === date1);
assert.isTrue(f.getCall(1).lastArg === date2);
assert.isTrue(f.lastCall.lastArg === date2);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should have working lastArg property", function () {
const fake = sinon.fake.returns("42");

sinon.replace(console, "log", fake);

assert.equals(console.log("apple pie"), 42);

// restores all replaced properties set by sinon methods (replace, spy, stub)
sinon.restore();

assert.equals(console.log("apple pie"), undefined);
assert.equals(fake.callCount, 1);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should be able to be used instead of stubs", function () {
const foo = {
bar: () => "baz",
};
// replace method with a fake one
const fake = sinon.replace(
foo,
"bar",
sinon.fake.returns("fake value")
);

assert.equals(fake(), "fake value"); // returns fake value
assert.equals(fake.callCount, 1); // saves calling information
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should create fake without behaviour", function () {
// create a basic fake, with no behavior
const fake = sinon.fake();

assert.isUndefined(fake()); // by default returns undefined
assert.equals(fake.callCount, 1); // saves call information
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should create fake with custom behaviour", function () {
// create a fake that returns the text "foo"
const fake = sinon.fake.returns("foo");

assert.equals(fake(), "foo");
});
});
12 changes: 12 additions & 0 deletions docs/_releases/latest/examples/fakes-5-returns.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should create a fake that 'returns' a value", function () {
const fake = sinon.fake.returns("apple pie");

assert.equals(fake(), "apple pie");
});
});
13 changes: 13 additions & 0 deletions docs/_releases/latest/examples/fakes-6-throws.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should create a fake that 'throws' an Error", function () {
const fake = sinon.fake.throws(new Error("not apple pie"));

// Expected to throw an error with message 'not apple pie'
assert.exception(fake, { name: "Error", message: "not apple pie" });
});
});
23 changes: 23 additions & 0 deletions docs/_releases/latest/examples/fakes-7-yields.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;
const fs = require("fs");

describe("FakeTest", function () {
it("should create a fake that 'yields'", function () {
const fake = sinon.fake.yields(null, "file content");
const anotherFake = sinon.fake();

sinon.replace(fs, "readFile", fake);
fs.readFile("somefile", (err, data) => {
// called with fake values given to yields as arguments
assert.isNull(err);
assert.equals(data, "file content");
// since yields is synchronous, anotherFake is not called yet
assert.isFalse(anotherFake.called);
});

anotherFake();
});
});
23 changes: 23 additions & 0 deletions docs/_releases/latest/examples/fakes-8-yields-async.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;
const fs = require("fs");

describe("FakeTest", function () {
it("should create a fake that 'yields asynchronously'", function () {
const fake = sinon.fake.yieldsAsync(null, "file content");
const anotherFake = sinon.fake();

sinon.replace(fs, "readFile", fake);
fs.readFile("somefile", (err, data) => {
// called with fake values given to yields as arguments
assert.isNull(err);
assert.equals(data, "file content");
// since yields is asynchronous, anotherFake is called first
assert.isTrue(anotherFake.called);
});

anotherFake();
});
});
20 changes: 20 additions & 0 deletions docs/_releases/latest/examples/fakes-9-callback.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
require("@fatso83/mini-mocha").install();
const sinon = require("sinon");
const referee = require("@sinonjs/referee");
const assert = referee.assert;

describe("FakeTest", function () {
it("should have working callback property", function () {
const f = sinon.fake();
const cb1 = function () {};
const cb2 = function () {};

f(1, 2, 3, cb1);
f(1, 2, 3, cb2);

assert.isTrue(f.callback === cb2);
// spy call methods:
assert.isTrue(f.getCall(1).callback === cb2);
assert.isTrue(f.lastCall.callback === cb2);
});
});
6 changes: 4 additions & 2 deletions docs/_releases/latest/examples/run-test.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
#!/bin/bash

# Link 'sinon' to local development dir
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$SCRIPT_DIR/.."
SINON_ROOT="$SCRIPT_DIR/../../../.."

cd "$SINON_ROOT"
npm link

# Install examples project and link to local sinon folder
cd "$SCRIPT_DIR"
rm -r node_modules 2>/dev/null
npm install --ignore-scripts
npm link sinon

Loading