Skip to content

Releases: chaijs/chai-as-promised

5.1.0

20 Dec 15:37
Compare
Choose a tag to compare

Adds support for Chai 3.x.

5.0.0

16 Apr 03:55
Compare
Choose a tag to compare

No changes since 4.3.2, but hopefully this time I won't have to unpublish.

4.3.2 (unpublished)

25 Mar 11:09
Compare
Choose a tag to compare

Updates the Chai peer dependency to Chai 2.1.2, since 4.3.1 introduced that requirement.

This release was unpublished since some people view upgrading a peer dependency as a breaking change.

4.3.1 (unpublished)

24 Mar 13:30
Compare
Choose a tag to compare

Fixes problems with compatibility between Chai as Promised and other Chai plugins. (#94,
@Ryckes and @joshperry)

This release was unpublished since it broke compatibility with Chai below 2.1.2 but did not correctly update its peer dependency requirement.

4.3.0

05 Mar 23:18
Compare
Choose a tag to compare

Adds the chaiAsPromised.transformAsserterArgs hook. (@stalniy)

4.2.0

18 Feb 19:13
Compare
Choose a tag to compare

Adds compatibility with Chai 2.x.

4.1.1

01 Mar 01:16
Compare
Choose a tag to compare

Fixes assert.becomes and assert.doesNotBecome to pass through the third message parameter. That is,

assert.becomes(Promise.resolve({ foo: "bar" }), { foo: "bar" }, "should become foobar-ish");

will now work. (@martletandco)

4.1.0

27 Oct 04:51
Compare
Choose a tag to compare

This release adds a new feature allowing you to configure the output promise by overriding chaiAsPromised.transferPromiseness. You can see the documentation in the README.

Credit to @sebv for proposing this feature in #37 and writing the first draft in #38.

4.0.0

22 Sep 00:15
Compare
Choose a tag to compare

This release is a complete rewrite of Chai as Promised's internals for better compatibility, speed, and robustness. If Chai as Promised has seemed weirdly broken in the past, it's probably fixed now.

Notable user-facing changes and fixes include:

  • You can now use multiple asserters on a single promise without problems, e.g. promise.should.have.property("foo").that.equals("bar").
  • When using the assert interfaces, rejected promises now pass through any assertion messages in addition to the rejection reason.
  • Removed .rejected.with syntax, in favor of a new .rejectedWith. Juggling the state between the two separate asserters (.rejected and .with) was very error-prone and didn't always work right.
  • Removed .broken alias for .rejected; nobody says that anymore.
  • The test to disallow jQuery “promises” has been tightened to produce less false positives. In particular, promise-stream hybrids with both .pipe and .then methods should work fine, unless they duplicate the entire jQuery-“promise” interface.
  • Fixed .rejectedWith on promises whose reasons are not Error instances (even though you should always reject with Error instances).
  • Fixed using .rejectedWith plus .notify on asynchronously-rejected promises.