From 4ee71413d545a76516a0075309430dbc040193be Mon Sep 17 00:00:00 2001 From: GrowingRadish Date: Sat, 20 Jun 2020 14:44:00 +0200 Subject: [PATCH 1/4] add check if delta is smaller than bestDelta if avgFieldCount isn't bigger than maxFieldCount (#804) --- papaparse.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papaparse.js b/papaparse.js index ec49373..1c14a54 100755 --- a/papaparse.js +++ b/papaparse.js @@ -1335,7 +1335,7 @@ License: MIT avgFieldCount /= (preview.data.length - emptyLinesCount); if ((typeof bestDelta === 'undefined' || delta <= bestDelta) - && (typeof maxFieldCount === 'undefined' || avgFieldCount > maxFieldCount) && avgFieldCount > 1.99) { + && ((typeof maxFieldCount === 'undefined' || avgFieldCount > maxFieldCount) || delta < bestDelta) && avgFieldCount > 1.99) { bestDelta = delta; bestDelim = delim; maxFieldCount = avgFieldCount; From ebfee11caba9bfd7bff234cd5083ad5b08697039 Mon Sep 17 00:00:00 2001 From: GrowingRadish Date: Sun, 21 Jun 2020 13:33:25 +0200 Subject: [PATCH 2/4] Add test case for checking modification in guessDelimiter (#804) --- tests/test-cases.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/test-cases.js b/tests/test-cases.js index bc0b333..452381f 100644 --- a/tests/test-cases.js +++ b/tests/test-cases.js @@ -4,7 +4,7 @@ if (typeof module !== 'undefined' && module.exports) { chai = require('chai'); Papa = require('../papaparse.js'); } - +var fs = require('fs'); var assert = chai.assert; var BASE_PATH = (typeof document === 'undefined') ? './' : document.getElementById('test-cases').src.replace(/test-cases\.js$/, ''); @@ -2538,7 +2538,15 @@ var CUSTOM_TESTS = [ var results = Papa.parse('"A","B","C","D"'); callback(results.meta.delimiter); } - } + }, + { + description: "Should correctly guess default delimiters when other sign is used more often but not right delimiter.", + expected: ";", + run: function(callback) { + var results = Papa.parse('ID;comment;geom\n1;HiThere;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n2;HowAreYou;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n3;WhatsUp;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n4;Sunday;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)'); + callback(results.meta.delimiter) + } + } ]; describe('Custom Tests', function() { From 26d087d27eacef61a3701428e4bcf8f5dd5eb4b9 Mon Sep 17 00:00:00 2001 From: GrowingRadish Date: Sun, 21 Jun 2020 13:34:40 +0200 Subject: [PATCH 3/4] Revert because of wrong formatting and unnecessary space occurences "Add test case for checking modification in guessDelimiter (#804)" This reverts commit ebfee11caba9bfd7bff234cd5083ad5b08697039. --- tests/test-cases.js | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/tests/test-cases.js b/tests/test-cases.js index 452381f..bc0b333 100644 --- a/tests/test-cases.js +++ b/tests/test-cases.js @@ -4,7 +4,7 @@ if (typeof module !== 'undefined' && module.exports) { chai = require('chai'); Papa = require('../papaparse.js'); } -var fs = require('fs'); + var assert = chai.assert; var BASE_PATH = (typeof document === 'undefined') ? './' : document.getElementById('test-cases').src.replace(/test-cases\.js$/, ''); @@ -2538,15 +2538,7 @@ var CUSTOM_TESTS = [ var results = Papa.parse('"A","B","C","D"'); callback(results.meta.delimiter); } - }, - { - description: "Should correctly guess default delimiters when other sign is used more often but not right delimiter.", - expected: ";", - run: function(callback) { - var results = Papa.parse('ID;comment;geom\n1;HiThere;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n2;HowAreYou;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n3;WhatsUp;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n4;Sunday;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)'); - callback(results.meta.delimiter) - } - } + } ]; describe('Custom Tests', function() { From 7368a48d124a1840dd34ebc7107e520c111fab6a Mon Sep 17 00:00:00 2001 From: GrowingRadish Date: Sun, 21 Jun 2020 13:39:04 +0200 Subject: [PATCH 4/4] Add test case for checking modification in guessDelimiter() (#804) --- tests/test-cases.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/test-cases.js b/tests/test-cases.js index bc0b333..884832b 100644 --- a/tests/test-cases.js +++ b/tests/test-cases.js @@ -2538,7 +2538,15 @@ var CUSTOM_TESTS = [ var results = Papa.parse('"A","B","C","D"'); callback(results.meta.delimiter); } - } + }, + { + description: "Should correctly guess default delimiters when other sign is used more often but not right delimiter.", + expected: ";", + run: function(callback) { + var results = Papa.parse('ID;comment;geom\n1;HiThere;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n2;HowAreYou;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n3;WhatsUp;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)\n4;Sunday;POLYGON(2 3, 3 4, 5 6, 4 5, 4 3, 2 3)'); + callback(results.meta.delimiter); + } + } ]; describe('Custom Tests', function() {