-
-
Notifications
You must be signed in to change notification settings - Fork 157
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,9 +14,20 @@ function getTimesDiff(fsStat, vinylStat) { | |
return; | ||
} | ||
|
||
var atime; | ||
if (isValidDate(vinylStat.atime)) { | ||
atime = vinylStat.atime; | ||
} else { | ||
atime = fsStat.atime; | ||
} | ||
|
||
if (!isValidDate(atime)) { | ||
atime = undefined; | ||
} | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
phated
Author
Member
|
||
|
||
var timesDiff = { | ||
mtime: vinylStat.mtime, | ||
atime: isValidDate(vinylStat.atime) ? vinylStat.atime : fsStat.atime, | ||
atime: atime, | ||
}; | ||
|
||
return timesDiff; | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,7 @@ var expect = require('expect'); | |
|
||
var isOwner = require('../lib/dest/fileOperations/isOwner'); | ||
var getModeDiff = require('../lib/dest/fileOperations/getModeDiff'); | ||
var getTimesDiff = require('../lib/dest/fileOperations/getTimesDiff'); | ||
|
||
function noop() {} | ||
|
||
|
@@ -134,3 +135,147 @@ describe('getModeDiff', function() { | |
done(); | ||
}); | ||
}); | ||
|
||
describe('getTimesDiff', function() { | ||
|
||
it('returns undefined if vinyl mtime is not a valid date', function(done) { | ||
var fsStat = { | ||
mtime: new Date(), | ||
}; | ||
var vfsStat = { | ||
mtime: new Date(undefined), | ||
}; | ||
|
||
var result = getTimesDiff(fsStat, vfsStat); | ||
|
||
expect(result).toEqual(undefined); | ||
|
||
done(); | ||
}); | ||
|
||
it('returns undefined if vinyl mtime & atime are both equal to counterparts', function(done) { | ||
var now = Date.now(); | ||
var fsStat = { | ||
mtime: new Date(now), | ||
atime: new Date(now), | ||
}; | ||
var vfsStat = { | ||
mtime: new Date(now), | ||
atime: new Date(now), | ||
}; | ||
|
||
var result = getTimesDiff(fsStat, vfsStat); | ||
|
||
expect(result).toEqual(undefined); | ||
|
||
done(); | ||
}); | ||
|
||
// TODO: is this proper/expected? | ||
it('returns undefined if vinyl mtimes equals the counterpart and atimes are null', function(done) { | ||
This comment has been minimized.
Sorry, something went wrong.
phated
Author
Member
|
||
var now = Date.now(); | ||
var fsStat = { | ||
mtime: new Date(now), | ||
atime: null, | ||
}; | ||
var vfsStat = { | ||
mtime: new Date(now), | ||
atime: null, | ||
}; | ||
|
||
var result = getTimesDiff(fsStat, vfsStat); | ||
|
||
expect(result).toEqual(undefined); | ||
|
||
done(); | ||
}); | ||
|
||
it('returns a diff object if mtimes do not match', function(done) { | ||
var now = Date.now(); | ||
var then = now - 1000; | ||
var fsStat = { | ||
mtime: new Date(now), | ||
}; | ||
var vfsStat = { | ||
mtime: new Date(then), | ||
}; | ||
var expected = { | ||
mtime: new Date(then), | ||
atime: undefined, | ||
}; | ||
|
||
var result = getTimesDiff(fsStat, vfsStat); | ||
|
||
expect(result).toEqual(expected); | ||
|
||
done(); | ||
}); | ||
|
||
it('returns a diff object if atimes do not match', function(done) { | ||
var now = Date.now(); | ||
var then = now - 1000; | ||
var fsStat = { | ||
mtime: new Date(now), | ||
atime: new Date(now), | ||
}; | ||
var vfsStat = { | ||
mtime: new Date(now), | ||
atime: new Date(then), | ||
}; | ||
var expected = { | ||
mtime: new Date(now), | ||
atime: new Date(then), | ||
}; | ||
|
||
var result = getTimesDiff(fsStat, vfsStat); | ||
|
||
expect(result).toEqual(expected); | ||
|
||
done(); | ||
}); | ||
|
||
it('returns the fs atime if the vinyl atime is invalid', function(done) { | ||
var now = Date.now(); | ||
var fsStat = { | ||
mtime: new Date(now), | ||
atime: new Date(now), | ||
}; | ||
var vfsStat = { | ||
mtime: new Date(now), | ||
atime: new Date(undefined), | ||
}; | ||
var expected = { | ||
mtime: new Date(now), | ||
atime: new Date(now), | ||
}; | ||
|
||
var result = getTimesDiff(fsStat, vfsStat); | ||
|
||
expect(result).toEqual(expected); | ||
|
||
done(); | ||
}); | ||
|
||
// TODO: is this proper/expected? | ||
it('makes atime diff undefined if fs and vinyl atime are invalid', function(done) { | ||
This comment has been minimized.
Sorry, something went wrong.
phated
Author
Member
|
||
var now = Date.now(); | ||
var fsStat = { | ||
mtime: new Date(now), | ||
atime: new Date(undefined), | ||
}; | ||
var vfsStat = { | ||
mtime: new Date(now), | ||
atime: new Date(undefined), | ||
}; | ||
var expected = { | ||
mtime: new Date(now), | ||
atime: undefined, | ||
}; | ||
|
||
var result = getTimesDiff(fsStat, vfsStat); | ||
|
||
expect(result).toEqual(expected); | ||
|
||
done(); | ||
}); | ||
}); |
After the first
if/else
block,atime
will always be valid, I think? So that would mean the secondif
is never true, which means that this new code does exactly the same as the ternary you removed?