- Add alias .deepEqual for .eql
- Bug in browser script and build
- Fixes in should-type for dom nodes, host object and promises
- Added support to
.eqles6 set, map and symbol (should-type,should-format,should-equal) - Breaking Change More accurate work with types (dom nodes, typed-arrays).
- Breaking Change Change result of should-type to be more accurate and consistent.
- Fixed should-equal options checks
- Fixed should-format typed arrays (more then 8 bits)
- Added aliases: .matchEach => .matchSome, .matchAny => .matchEvery (to be similar to array methods). See #65.
- Breaking Change (possibly) .matchEach and .matchAny now uses internally .match. See #65.
- Breaking Change No more getter assertions. No all assertions are functions.
- Breaking Change No more proxy returning, to check property names.
- Breaking Change
should-formatnow looks more like chrome developer tools inpections.
- Replace rest of usage after 6.0.2
- Replace in all internal assertions
shouldusage to non getter form
- Remove dummy debug messages
- From .containDeep* removed .indexOf checks for strings, now it is just equality checks (see #55)
- Fix for .not.throws for generators
- Added
.matchAny, like.matchEachbut withsomesemantics
- Initial support of es6 generators, iterables, iterators and symbols
- .throwError now support generator functions
- Fix bug in .propertyByPath
- Export utils via should.util
- Remove old .eql implementation
- Refactor nested errors
- Added separate reporting message for false negative results like 10.should.not.equal(10)
- Make error.message lazy fix old perfomance bottlenecks for constructing messages for big objects
- Added .propertyWithDescriptor
- Fix perfomance degradation on large objects
- Fix end cases for .containDeep and .containDeepOrdered
- Added small check for .noConflict
- Fix end cases for .containDeep and .containDeepOrdered
- Make assertion properties configurable
- Bump deps
- Set showDiff only if the same types
- Wrap everywhere returned assertion with Proxy if available.
- Fixed null properties in .containDeep and .containDeepOrdered
- Fixed leaked _eql
- Added config flag .useOldDeepEqual to use old .eql implementation
- Added .enumerables
- Bump dependencies to get more accurate format of promise
- Added a lot of jsdocs
- Remove breaking change with should-equal that check also object prototypes. Instead document how get both behaviours in .eql docs.
- bump deps
- assert methods reimplemented via assertion, deepEqual done via should-equal. To avoid possible confusion between should.deepEqual and a.should.eql(b)
- Possible fix for error tests
.throw()check if given object is a function
- Remove node's version of .eql
- Added reason why .eql failed
- Move inspection from .formattedObj to be in .getMessage - to make inspection as late as possible.
- Remove node util.inspect and use instead own inspection module with type detection and browser types compatibility
- As inspect function was moved to repo, refine how it show Dates (added millis via custom format)
- Added warnings for potential shoot in the leg: eql non strict and should unwrapping primitive wrappers
- Added possibility to disable any warnings via environment variable SHOULDJS_WARN and should.warn = false
- Added new deep equality check function
- Nested assertions can contribute to parent assertions own messages
- Make all assertions enumerable in Assertion.prototype
- Fix wrong/strange behaviour of .containDeep with equal keys. Now it check to contain element once.
- Added util.formatProp to format properties more accurate
- Missing name in browser script
- Breaking change: Move non core assertions out
- Added casting in properties assertions to String for all property names
- Added .propertyByPath assertion
- Breaking change: Remove deprecated .includeEql and .include
- Breaking change: .containDeep now do not check order for 2 arrays case
- Added .containDeepOrdered for old .containDeep
- Added support of array-like objects
- Added to .throw matching by error properties with .match
- Fix for should.format
- Added aliases for es reserved words
- Fix bug with ownProperty alias
- Fix bug with not function alias
- Added .enumerable(name, val)
- Added first version of .any modifier that affect assertions with multiple parameters
- .header now have more nice message
- assertion can now override how to show object
- .Error now do not throw assertion error for custom errors.
- Fix TypeError in .containEql
- Fix for adding .inspect for JQuery object only in case when it is exist
- Fix for HTMLElement in DOM less environments
- Added jquery based browser extension
- Fix: .lengthOf()
- Split everything to smaller files
- Added huge extension to .match and .matchEach. Thanks @alsotang for initial code and idea.
- Added .containDeep and .containEql
- Separate build for browser and node.js
- Basic plugin system
- Breaking change: .Object now do not fail on arrays
- Breaking change: Additional messages now replaces generated and do not added
- Breaking change: .keys now check as is - no keys in args means no keys in object
- Deprecated: assert extension
- Deprecated: .include and .includeEql
- Now all assertions define only positive cases, should.js take care about negations and chains
- Move date formatting out of should.inspect
- Override .inspect for Date's to convert them to ISOString
- Add '#of' as getter for chaining.
- Exclude browser script for .npmignore.
- Fix wrong path in .npmignore.
- breaking change: #a now getter like #an. Was replaced with #type(str)
- breaking change: #empty does not check length for objects. Now it check if object do not have own properties.
- #properties check if object have some properties
- util.inspect now exposed as should.inspect
- assertions for NaN, Infinity, Array, Object, String, Boolean, Number, Error, Function
- #equal got alias #exactly
- fix doc for .keys. Closes #108.
- add #endWith()
- add .startWith (#119)
- fix should.be.instanceOf() failure on Date
- add .showDiff
- Make instanceOf and throwError be aliased like others [alFReD-NSH]
- Fix should[.not].exist not having stack trace #84 [alFReD-NSH]
- Added #approximately(value, delta, description) for doing assertions on results of operations with numbers. [titarenko]
- add .type for eql()s assert
- add enclosing of failure message functions. Closes #81
- add mocha .actual / .expected string support for all assertion values
- add
.throw(Constructor)support [snakamura]
- Added object inclusion support back
- Added homepage to package.json
- Fixed .equal() with dates. Closes #63
- package: add "repository" section [TooTallNate]
- use valueOf() to get the reference the object [TooTallNate]
- Added
err.actualanderr.expectedfor .{eql,equal}() - Added 'return this;' to 'get json' and 'get html' in order to provide chaining for should.be.json and should.be.html
- Added better
.json - Added better
.html
- Added string matching to
.throw()[serby] - Added regexp matching to
.throw()[serby] - Added
.includeEql()[RubenVerborgh] - Added
.should.be.html - Added
.should.be.json - Added optional description args to most matchers [Mike Swift]
- Fixed .header() for realzzz
- Fixed: chain .header() to retain negation
- Added
.should.throw() - Added
.include()support for strings - Added
.include()support for arrays - Removed
keys().includemodifier support - Removed
.object() - Removed
.string() - Removed
.contain() - Removed
.respondTo()rubyism - expresso -> mocha
- Fixed tests for 0.5.x
- Fixed sys warning
- configurable
- Added assertion for inclusion of an object:
foo.should.include.object({ foo: 'bar' })
- Fixed .status(code). Closes #18
- Added
res.should.have.status(code)method - Added
res.should.have.header(field, val)method
- Added
should.exist(obj)[aseemk] - Added
should.not.exist(obj)[aseemk]
- Added
.okto assert truthfulness - Added
.arguments - Fixed double required bug. [thanks dominictarr]
- Added
true/falseassertions
- Added chaining support
- Initial release