Files
yarn/__tests__/util/fs.js
Daniel Pihlstrom 18b15b6dbf accept 1ms difference in filedates as equal on windows (#3235)
a nodejs issue causes certain dates to be off by 1ms after calling utimes

See: https://github.com/nodejs/node/pull/12607
2017-04-23 19:03:44 -07:00

53 lines
1.7 KiB
JavaScript

/* @flow */
import {fileDatesEqual} from '../../src/util/fs.js';
describe('fileDatesEqual', () => {
const realPlatform = process.platform;
describe('!win32', () => {
beforeAll(() => {
process.platform = 'notWin32';
});
afterAll(() => {
process.platform = realPlatform;
});
test('Same dates equal', () => {
expect(fileDatesEqual(new Date(1491393798834), new Date(1491393798834))).toBeTruthy();
expect(fileDatesEqual(new Date(1491393798000), new Date(1491393798000))).toBeTruthy();
});
test('Different dates differ', () => {
expect(fileDatesEqual(new Date(1491393798834), new Date(1491393798835))).toBeFalsy();
expect(fileDatesEqual(new Date(1491393700834), new Date(1491393798834))).toBeFalsy();
expect(fileDatesEqual(new Date(1491393798000), new Date(1491393798835))).toBeFalsy();
});
});
describe('win32', () => {
beforeAll(() => {
process.platform = 'win32';
});
afterAll(() => {
process.platform = realPlatform;
});
test('Same dates equal', () => {
expect(fileDatesEqual(new Date(1491393798834), new Date(1491393798834))).toBeTruthy();
});
test('Different dates differ', () => {
expect(fileDatesEqual(new Date(1491393798834), new Date(1491393798835))).toBeTruthy();
expect(fileDatesEqual(new Date(1491393798834), new Date(1491393798836))).toBeFalsy();
expect(fileDatesEqual(new Date(1491393700834), new Date(1491393798834))).toBeFalsy();
});
test('Milliseconds are ignored when one date has zero milliseconds', () => {
expect(fileDatesEqual(new Date(1491393798000), new Date(1491393798835))).toBeTruthy();
expect(fileDatesEqual(new Date(1491393798834), new Date(1491393798000))).toBeTruthy();
});
});
});