frozen

Provides functionality for freezing time and dates

Usage no npm install needed!

<script type="module">
  import frozen from 'https://cdn.skypack.dev/frozen';
</script>

README

Frozen

Provides methods for stubbing time.

npm install frozen

Example

var freeze = require('frozen').freeze
  , melt = require('frozen').melt;

describe('Time', function() {
  afterEach(melt);

  it('is frozen', function() {
    freeze(new Date(2011, 1, 13, 8, 33, 14, 274));

    var date1 = new Date();
    sleep(30);
    var date2 = new Date();

    expect(date1.getFullYear()).to.equal(2011);
    expect(date1.getMonth()).to.equal(1);
    expect(date1.getDate()).to.equal(13);
    expect(date1.getHours()).to.equal(8);
    expect(date1.getMinutes()).to.equal(33);
    expect(date1.getSeconds()).to.equal(14);
    expect(date1.getMilliseconds()).to.equal(274);

    expect(date2.getFullYear()).to.equal(2011);
    expect(date2.getMonth()).to.equal(1);
    expect(date2.getDate()).to.equal(13);
    expect(date2.getHours()).to.equal(8);
    expect(date2.getMinutes()).to.equal(33);
    expect(date2.getSeconds()).to.equal(14);
    expect(date2.getMilliseconds()).to.equal(274);
  });
});

API

.freeze([date]) → undefined

Freezes the current time to that of the date argument (which must be a Date), or the current datetime if no arguments are provided.

.melt() → undefined

Returns Date to the normal, native Date.

License

MIT