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.
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.