jest-date-mock
Advanced tools
Comparing version 1.0.7 to 1.0.8
@@ -6,2 +6,4 @@ "use strict"; | ||
}); | ||
exports.now = exports.clear = exports.advanceTo = exports.advanceBy = void 0; | ||
/** | ||
@@ -11,9 +13,6 @@ * Created by hustcc 18/05/27. | ||
*/ | ||
// undefined means unmock. | ||
var DEFAULT = undefined; | ||
var DEFAULT = undefined; // current Date of timestamp | ||
// current Date of timestamp | ||
var nowDate = DEFAULT; | ||
/** | ||
@@ -23,6 +22,6 @@ * move date by offset `ms` | ||
*/ | ||
var advanceBy = exports.advanceBy = function advanceBy(ms) { | ||
var advanceBy = function advanceBy(ms) { | ||
return nowDate = (nowDate === undefined ? +new Date() : nowDate) + (ms || 0); | ||
}; | ||
/** | ||
@@ -34,6 +33,9 @@ * reset Date | ||
*/ | ||
var advanceTo = exports.advanceTo = function advanceTo(ms) { | ||
exports.advanceBy = advanceBy; | ||
var advanceTo = function advanceTo(ms) { | ||
return nowDate = ms ? +new Date(ms) : 0; | ||
}; | ||
/** | ||
@@ -43,6 +45,9 @@ * clear mock | ||
*/ | ||
var clear = exports.clear = function clear() { | ||
exports.advanceTo = advanceTo; | ||
var clear = function clear() { | ||
return nowDate = DEFAULT; | ||
}; | ||
/** | ||
@@ -52,4 +57,10 @@ * current | ||
*/ | ||
var now = exports.now = function now() { | ||
exports.clear = clear; | ||
var now = function now() { | ||
return nowDate; | ||
}; | ||
}; | ||
exports.now = now; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
@@ -6,7 +6,3 @@ Object.defineProperty(exports, "__esModule", { | ||
}); | ||
exports.version = exports.clear = exports.advanceTo = exports.advanceBy = undefined; | ||
var _date = require('./date'); | ||
Object.defineProperty(exports, 'advanceBy', { | ||
Object.defineProperty(exports, "advanceBy", { | ||
enumerable: true, | ||
@@ -17,3 +13,3 @@ get: function get() { | ||
}); | ||
Object.defineProperty(exports, 'advanceTo', { | ||
Object.defineProperty(exports, "advanceTo", { | ||
enumerable: true, | ||
@@ -24,3 +20,3 @@ get: function get() { | ||
}); | ||
Object.defineProperty(exports, 'clear', { | ||
Object.defineProperty(exports, "clear", { | ||
enumerable: true, | ||
@@ -31,5 +27,12 @@ get: function get() { | ||
}); | ||
exports.version = void 0; | ||
var _mockDate = require('./mockDate'); | ||
var _date = require("./date"); | ||
var _mockDate = require("./mockDate"); | ||
/** | ||
* Created by hustcc 18/05/27. | ||
* Contract: i@hust.cc | ||
*/ | ||
// mock Date class | ||
@@ -46,2 +49,3 @@ var dateClass = (0, _mockDate.mockDateClass)(Date); | ||
var version = exports.version = '1.0.7'; | ||
var version = "1.0.8"; | ||
exports.version = version; |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
"use strict"; | ||
@@ -6,7 +6,21 @@ Object.defineProperty(exports, "__esModule", { | ||
}); | ||
exports.mockDateClass = undefined; | ||
exports.mockDateClass = void 0; | ||
var _date = require('./date'); | ||
var _date = require("./date"); | ||
var mockDateClass = exports.mockDateClass = function mockDateClass(D) { | ||
function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } | ||
function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); } | ||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } | ||
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } | ||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } | ||
var mockDateClass = function mockDateClass(D) { | ||
// if undefined, use real date, or else mock date | ||
@@ -17,4 +31,4 @@ var mockNow = function mockNow() { | ||
function MD() { | ||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { | ||
function Date() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
@@ -24,3 +38,5 @@ } | ||
var dateArgs = args.length === 0 ? [mockNow()] : args; | ||
var instance = new (Function.prototype.bind.apply(D, [null].concat(dateArgs)))(); | ||
var instance = _construct(D, _toConsumableArray(dateArgs)); | ||
Object.setPrototypeOf(instance, Object.getPrototypeOf(this)); | ||
@@ -30,20 +46,19 @@ return instance; | ||
MD.prototype = Object.create(D.prototype); | ||
Object.setPrototypeOf(MD, D); | ||
Date.prototype = Object.create(D.prototype); | ||
Object.setPrototypeOf(Date, D); // undefined means do not mock date | ||
// undefined means do not mock date | ||
MD.now = function () { | ||
Date.now = function () { | ||
return mockNow(); | ||
}; | ||
// original Date class | ||
MD.__OriginalDate__ = D; | ||
// current() is for test. | ||
MD.current = function () { | ||
}; // original Date class | ||
Date.__OriginalDate__ = D; // current() is for test. | ||
Date.current = function () { | ||
return D.now(); | ||
}; | ||
return MD; | ||
}; /** | ||
* Created by hustcc 18/05/27. | ||
* Contract: i@hust.cc | ||
*/ | ||
return Date; | ||
}; | ||
exports.mockDateClass = mockDateClass; |
{ | ||
"name": "jest-date-mock", | ||
"version": "1.0.7", | ||
"version": "1.0.8", | ||
"description": "Mock `window.Date` when run unit test cases with jest. Make tests of `Date` easier.", | ||
@@ -31,8 +31,9 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"babel-cli": "^6.26.0", | ||
"babel-jest": "^22.0.4", | ||
"@babel/cli": "^7.7.7", | ||
"@babel/core": "^7.7.7", | ||
"@babel/preset-env": "^7.7.7", | ||
"babel-jest": "^24.9.0", | ||
"babel-plugin-version": "^0.2.2", | ||
"babel-preset-env": "^1.6.1", | ||
"coveralls": "^3.0.0", | ||
"jest": "^21.2.1" | ||
"jest": "^24.9.0" | ||
}, | ||
@@ -39,0 +40,0 @@ "jest": { |
# jest-date-mock | ||
> Mock `window.Date` when run unit test cases with jest. Make tests of `Date` easier. | ||
> Mock `Date` when run unit test cases with jest. Make tests of `Date` easier. | ||
@@ -5,0 +5,0 @@ [![Build Status](https://travis-ci.org/hustcc/jest-date-mock.svg?branch=master)](https://travis-ci.org/hustcc/jest-date-mock) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
10304
8
146
7