11.2.1 / 2017-03-09 =================== * Fix `.match(regex)` for not supported cases 11.2.0 / 2017-01-27 =================== * Added `.only` modifier for `.keys` to check also size * Soft deprecate `.enumerable(s)` 11.1.2 / 2016-12-10 =================== * Added workaround for runtimes where error's stack populated eagerly 11.1.1 / 2016-10-10 =================== * Update modules 11.1.0 / 2016-08-14 =================== * Update modules 11.0.0 / 2016-08-10 =================== * Extracted parts from code for traversing different data types in similar ways. This allows for easily extending the library to almost any collection class. Now should.js supports `Set`/`Map`/`WeakSet`/`WeakMap` everywhere. * `.empty()` now uses new type adaptors * Breaking change in `.keys()`/`.key()`: now only checks for passed keys (also uses type adaptors) - it can check for keys in `Map`/`Set` e.g * Added `.value(key, value)` to assert if key-value object has such `value` with this `key` * Added `.size()` to get size of collection; also works with type adaptors * `.containEql` uses type adaptors and can check something contained within a collection or sub-part of a key-value object 10.0.0 / 2016-07-18 =================== * Possible breaking change/bugfix in should-format when in objects used keys that looks like a numbers 9.0.2 / 2016-06-10 ================== * Small test fixes for function expressions without names in Chrome 9.0.1 / 2016-06-09 ================== * Fix browser global export 9.0.0 / 2016-05-30 ================== * Set should.config values to be more obvious. Pls check brecking changes page for exact values. * Add support for SIMD data types. * Fixed minor bugs in .eql * Allow to show all equality check fails in .eql 8.4.0 / 2016-05-21 ================== * Add support for Symbols in .eql 8.3.2 / 2016-05-18 ================== * Fix for `should-equal` to do not call .toString when checking circular usage 8.3.1 / 2016-04-15 ================== * Fix browser script to again be UMD bundle 8.3.0 / 2016-03-23 ================== * .true() and .false() can accept optional message to be used in assertion Error * Add more useful messages to promise assertions 8.2.2 / 2016-02-09 ================== * Fix bug with .match when called primitive to match object * Various linting issues 8.2.1 / 2016-01-27 ================== * Fix bug with new option, thanks @VinGarcia 8.2.0 / 2016-01-24 ================== * Add option to should.equal to treat -0 and +0 as equals 8.1.1 / 2016-01-10 ================== * Fix browser build to do not loose window.Should 8.1.0 / 2016-01-10 ================== * Add .Date() assertion to test if given object is Date instance 8.0.2 / 2015-12-18 ================== * Update should-format to fix bug in formatting arrow functions 8.0.1 / 2015-12-11 ================== * Fix throwing TypeError in .match 8.0.0 / 2015-12-08 ================== * Move should-promised to main repo * Expose window.should as should function and not a getter 7.1.1 / 2015-10-20 ================== * Update format package to fix node 0.12 Symbol formatting 7.1.0 / 2015-08-28 ================== * Added .aboveOrEqual and .belowOrEqual for numbers (<= and >=) * Added .oneOf and .equalOneOf to check equality of one of values * Added 'browser' field to package.json 7.0.4 / 2015-08-14 ================== * Missing doc for .deepEqual * Fix .match and dependent assertions to check property in object-object matching 7.0.3 / 2015-08-09 ================== * Add alias .deepEqual for .eql 7.0.2 / 2015-07-09 ================== * Bug in browser script and build 7.0.1 / 2015-06-18 ================== * Fixes in should-type for dom nodes, host object and promises 7.0.0 / 2015-06-18 ================== * Added support to `.eql` es6 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-format` now looks more like chrome developer tools inpections. 6.0.3 / 2015-05-18 ================== * Replace rest of usage after 6.0.2 6.0.2 / 2015-05-18 ================== * Replace in all internal assertions `should` usage to non getter form 6.0.1 / 2015-04-15 ================== * Remove dummy debug messages 6.0.0 / 2015-04-15 ================== * From .containDeep* removed .indexOf checks for strings, now it is just equality checks (see #55) * Fix for .not.throws for generators 5.2.0 / 2015-03-12 ================== * Added `.matchAny`, like `.matchEach` but with `some` semantics 5.1.0 / 2015-03-05 ================== * Initial support of es6 generators, iterables, iterators and symbols * .throwError now support generator functions * Fix bug in .propertyByPath 5.0.1 / 2015-02-21 ================== * Export utils via should.util 5.0.0 / 2015-02-10 ================== * 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 4.6.5 / 2015-02-05 ================== * Fix perfomance degradation on large objects 4.6.4 / 2015-02-05 ================== * Fix end cases for .containDeep and .containDeepOrdered 4.6.3 / 2015-02-01 ================== * Added small check for .noConflict * Fix end cases for .containDeep and .containDeepOrdered 4.6.2 / 2015-01-28 ================== * Make assertion properties configurable 4.6.1 / 2015-01-18 ================== * Bump deps * Set showDiff only if the same types 4.6.0 / 2015-01-13 ================== * Wrap everywhere returned assertion with Proxy if available. 4.5.2 / 2015-01-13 ================== * Fixed null properties in .containDeep and .containDeepOrdered 4.5.1 / 2015-01-13 ================== * Fixed leaked \_eql 4.5.0 / 2015-01-11 ================== * Added config flag .useOldDeepEqual to use old .eql implementation 4.4.4 / 2015-01-08 ================== * Added .enumerables 4.4.3 / 2015-01-08 ================== * Bump dependencies to get more accurate format of promise * Added a lot of jsdocs 4.4.2 / 2014-12-27 ================== * Remove breaking change with should-equal that check also object prototypes. Instead document how get both behaviours in .eql docs. 4.4.1 / 2014-12-13 ================== * bump deps 4.4.0 / 2014-12-12 ================== * 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 4.3.1 / 2014-12-08 ================== * `.throw()` check if given object is a function 4.3.0 / 2014-11-10 ================== * Remove node's version of .eql * Added reason why .eql failed 4.2.1 / 2014-11-07 ================== * Move inspection from .formattedObj to be in .getMessage - to make inspection as late as possible. 4.2.0 / 2014-11-06 ================== * Remove node util.inspect and use instead own inspection module with type detection and browser types compatibility 4.1.0 / 2014-10-19 ================== * 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 4.0.4 / 2014-06-09 ================== * Make all assertions enumerable in Assertion.prototype 4.0.3 / 2014-06-09 ================== * Fix wrong/strange behaviour of .containDeep with equal keys. Now it check to contain element once. * Added util.formatProp to format properties more accurate 4.0.1 / 2014-06-04 ================== * Missing name in browser script 4.0.0 / 2014-05-29 ================== * 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 3.3.2 / 2014-05-23 ================== * Fix for should.format 3.3.1 / 2014-04-16 ================== * Added aliases for es reserved words * Fix bug with ownProperty alias * Fix bug with not function alias 3.3.0 / 2014-04-07 ================== * Added .enumerable(name, val) 3.2.0 / 2014-03-29 ================== * 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 3.1.4 / 2014-03-18 ================== * .Error now do not throw assertion error for custom errors. 3.1.3 / 2014-02-25 ================== * Fix TypeError in .containEql 3.1.2 / 2014-01-28 ================== * Fix for adding .inspect for JQuery object only in case when it is exist 3.1.1 / 2014-01-28 ================== * Fix for HTMLElement in DOM less environments 3.1.0 / 2014-01-23 ================== * Added jquery based browser extension 3.0.1 / 2014-01-17 ================== * Fix: .lengthOf() 3.0.0 / 2014-01-17 ================== * 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 2.1.1 / 2013-12-05 ================== * Move date formatting out of should.inspect 2.1.0 / 2013-11-11 ================== * Override .inspect for Date's to convert them to ISOString 2.0.2 / 2013-10-21 ================== * Add '#of' as getter for chaining. * Exclude browser script for .npmignore. 2.0.1 / 2013-10-10 ================== * Fix wrong path in .npmignore. 2.0.0 / 2013-10-10 ================== * 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 1.3.0 / 2013-09-13 ================== * fix doc for .keys. Closes #108. * add #endWith() * add .startWith (#119) 1.2.2 / 2013-02-19 ================== * fix should.be.instanceOf() failure on Date 1.2.1 / 2012-11-02 ================== * add .showDiff * Make instanceOf and throwError be aliased like others [alFReD-NSH] * Fix should[.not].exist not having stack trace #84 [alFReD-NSH] 1.2.0 / 2012-09-21 ================== * Added #approximately(value, delta, description) for doing assertions on results of operations with numbers. [titarenko] 1.1.1 / 2012-09-19 ================== * add .type for eql()s assert 1.1.0 / 2012-07-30 ================== * add enclosing of failure message functions. Closes #81 * add mocha .actual / .expected string support for all assertion values 0.7.0 / 2012-07-17 ================== * add `.throw(Constructor)` support [snakamura] 0.6.3 / 2012-04-26 ================== * Added object inclusion support back 0.6.2 / 2012-04-26 ================== * Added homepage to package.json * Fixed .equal() with dates. Closes #63 0.6.1 / 2012-04-10 ================== * package: add "repository" section [TooTallNate] * use valueOf() to get the reference the object [TooTallNate] 0.6.0 / 2012-03-01 ================== * Added `err.actual` and `err.expected` for .{eql,equal}() * Added 'return this;' to 'get json' and 'get html' in order to provide chaining for should.be.json and should.be.html 0.5.1 / 2012-01-13 ================== * Added better `.json` * Added better `.html` 0.5.0 / 2012-01-12 ================== * 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] 0.4.2 / 2011-12-17 ================== * Fixed .header() for realzzz 0.4.1 / 2011-12-16 ================== * Fixed: chain .header() to retain negation 0.4.0 / 2011-12-16 ================== * Added `.should.throw()` * Added `.include()` support for strings * Added `.include()` support for arrays * Removed `keys()` `.include` modifier support * Removed `.object()` * Removed `.string()` * Removed `.contain()` * Removed `.respondTo()` rubyism * expresso -> mocha 0.3.2 / 2011-10-24 ================== * Fixed tests for 0.5.x * Fixed sys warning 0.3.1 / 2011-08-22 ================== * configurable 0.3.0 / 2011-08-20 ================== * Added assertion for inclusion of an object: `foo.should.include.object({ foo: 'bar' })` 0.2.1 / 2011-05-13 ================== * Fixed .status(code). Closes #18 0.2.0 / 2011-04-17 ================== * Added `res.should.have.status(code)` method * Added `res.should.have.header(field, val)` method 0.1.0 / 2011-04-06 ================== * Added `should.exist(obj)` [aseemk] * Added `should.not.exist(obj)` [aseemk] 0.0.4 / 2010-11-24 ================== * Added `.ok` to assert truthfulness * Added `.arguments` * Fixed double required bug. [thanks dominictarr] 0.0.3 / 2010-11-19 ================== * Added `true` / `false` assertions 0.0.2 / 2010-11-19 ================== * Added chaining support 0.0.1 / 2010-11-19 ================== * Initial release