Merge pull request #143 from romellem/fix-timestamp-strip

Fix regex to strip timestamp when timezone is behind GMT
This commit is contained in:
Rodrigo Fernandes 2017-10-09 21:19:22 +01:00 committed by GitHub
commit 1b0af44179
2 changed files with 30 additions and 19 deletions

View file

@ -435,7 +435,7 @@
// Cleanup timestamps generated by the unified diff (diff command) as specified in // Cleanup timestamps generated by the unified diff (diff command) as specified in
// https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html // https://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html
// Ie: 2016-10-25 11:37:14.000000000 +0200 // Ie: 2016-10-25 11:37:14.000000000 +0200
filename = filename.replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? \+\d{4}.*$/, ''); filename = filename.replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [-+]\d{4}.*$/, '');
} }
return filename; return filename;

View file

@ -400,27 +400,38 @@ describe('DiffParser', function() {
}); });
it('should parse unified non git diff and strip timestamps off the headers', function() { it('should parse unified non git diff and strip timestamps off the headers', function() {
var diff = var diffs = [
'--- a/sample.js 2016-10-25 11:37:14.000000000 +0200\n' + // 2 hours ahead of GMT
'+++ b/sample.js 2016-10-25 11:37:14.000000000 +0200\n' + '--- a/sample.js 2016-10-25 11:37:14.000000000 +0200\n' +
'@@ -1 +1,2 @@\n' + '+++ b/sample.js 2016-10-25 11:37:14.000000000 +0200\n' +
'-test\n' + '@@ -1 +1,2 @@\n' +
'+test1r\n' + '-test\n' +
'+test2r\n'; '+test1r\n' +
'+test2r\n',
// 2 hours behind GMT
'--- a/sample.js 2016-10-25 11:37:14.000000000 -0200\n' +
'+++ b/sample.js 2016-10-25 11:37:14.000000000 -0200\n' +
'@@ -1 +1,2 @@\n' +
'-test\n' +
'+test1r\n' +
'+test2r\n'
];
var result = DiffParser.generateDiffJson(diff); diffs.forEach(function(diff) {
var file1 = result[0]; var result = DiffParser.generateDiffJson(diff);
assert.equal(1, result.length); var file1 = result[0];
assert.equal(2, file1.addedLines); assert.equal(1, result.length);
assert.equal(1, file1.deletedLines); assert.equal(2, file1.addedLines);
assert.equal('sample.js', file1.oldName); assert.equal(1, file1.deletedLines);
assert.equal('sample.js', file1.newName); assert.equal('sample.js', file1.oldName);
assert.equal(1, file1.blocks.length); assert.equal('sample.js', file1.newName);
assert.equal(1, file1.blocks.length);
var linesContent = file1.blocks[0].lines.map(function(line) { var linesContent = file1.blocks[0].lines.map(function(line) {
return line.content; return line.content;
});
assert.deepEqual(linesContent, ['-test', '+test1r', '+test2r']);
}); });
assert.deepEqual(linesContent, ['-test', '+test1r', '+test2r']);
}); });
it('should parse unified non git diff', function() { it('should parse unified non git diff', function() {