Better Error Messages
Comparing date values for equality with getTime() gives unreadable error messages:
AssertionError: expected 1369944360000 to equal 1369944300000
Use chai-datetime to get something easier to read:
AssertionError: expected Thu May 30 2013 16:06:00.000 (-04:00) to equal Thu May 30 2013 16:05:00.000 (-04:00)
<script src="chai.js"></script> <script src="chai-datetime.js"></script>
var chai = require('chai'); chai.use(require('chai-datetime'));
There are a collection of assertions that work on times and dates. Any assertion that specifies date in the name only compares the date portion of the Date object.
- closeToTime (with a configurable delta in seconds)
All assertions are defined for both the BDD and TDD syntaxes.
var d1 = new Date(2013, 4, 30, 16, 5), d2 = new Date(2013, 4, 30, 17); d1.should.equalDate(d2) expect(d1).to.equalDate(d2) assert.equalDate(d1, d2)
Thanks to @mitchlloyd for pairing with me on this to help get me started. Thanks to @rockwood for putting up with my continuous trolling.
Thanks to the chai-fuzzy module for giving me an idea for how to structure and test a chai plugin.