Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API no longer compatible with should.js 0.4.x #1

Closed
jgonera opened this issue Dec 17, 2011 · 1 comment
Closed

API no longer compatible with should.js 0.4.x #1

jgonera opened this issue Dec 17, 2011 · 1 comment

Comments

@jgonera
Copy link
Contributor

jgonera commented Dec 17, 2011

There are some API changes in should.js 0.4.x (https://github.com/visionmedia/should.js/commits/master).

@logicalparadox
Copy link
Member

Release 0.1.2 is now compatible with should.js (0.4.x) through 99a305190c9bd085ef9d228414b0d975f7517f5d. This includes headers, statusCodes, html/json content types.

Please note the following caveats:

.include() / .keys()

  • should.js warns users to switch from contain to include, and keys doesn't have a subselection modifier
  • chai include is compatible, but contain was refactored as the subselection modifier for keys.
expect({ foo: 1 }).to.have.keys('foo');
expect({ foo: 1, bar: 2 }).to.contain.keys('foo');

.throw()

  • chai allows you to pass (optional) specific type of error to match expectations. behaves the same if error constructor is passed.
var goodFn = function () { 1==1; }
  , badFn = function () { throw new Error('testing'); }
  , refErrFn = function () { throw new ReferenceError(); };

// all of the following pass
expect(goodFn).to.not.throw();
expect(goodFn).to.not.throw(Error);
expect(badFn).to.throw();
expect(badFn).to.throw(Error);
expect(badFn).to.not.throw(ReferenceError);
expect(refErrFn).to.throw();
expect(refErrFn).to.throw(ReferenceError);
expect(refErrFn).to.not.throw(Error);
expect(refErrFn).to.not.throw(TypeError);

That should cover it. Let me know if there is something I missed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants