Ver Fonte

Parse a number of test files from the csv-spectrum package in the csv viewer tests.

Jason Grout há 7 anos atrás
pai
commit
38c63bc99a
2 ficheiros alterados com 72 adições e 6 exclusões
  1. 68 2
      tests/test-csvviewer/src/model.spec.ts
  2. 4 4
      yarn.lock

+ 68 - 2
tests/test-csvviewer/src/model.spec.ts

@@ -7,7 +7,54 @@ import {
   DSVModel
 } from '@jupyterlab/csvviewer';
 
-let empty = require('csv-spectrum/empty.csv');
+
+
+const CSV_TEST_FILES = [
+  ['comma_in_quotes',
+   require('csv-spectrum/csvs/comma_in_quotes.csv'),
+   require('csv-spectrum/json/comma_in_quotes.json')],
+
+  ['empty',
+   require('csv-spectrum/csvs/empty.csv'),
+   require('csv-spectrum/json/empty.json')],
+
+  ['empty_crlf',
+   require('csv-spectrum/csvs/empty_crlf.csv'),
+   require('csv-spectrum/json/empty_crlf.json')],
+
+  ['escaped_quotes',
+   require('csv-spectrum/csvs/escaped_quotes.csv'),
+   require('csv-spectrum/json/escaped_quotes.json')],
+
+  ['json',
+   require('csv-spectrum/csvs/json.csv'),
+   require('csv-spectrum/json/json.json')],
+
+  ['newlines',
+   require('csv-spectrum/csvs/newlines.csv'),
+   require('csv-spectrum/json/newlines.json')],
+
+  ['newlines_crlf',
+   require('csv-spectrum/csvs/newlines_crlf.csv'),
+   require('csv-spectrum/json/newlines_crlf.json')],
+
+  ['quotes_and_newlines',
+   require('csv-spectrum/csvs/quotes_and_newlines.csv'),
+   require('csv-spectrum/json/quotes_and_newlines.json')],
+
+  ['simple',
+   require('csv-spectrum/csvs/simple.csv'),
+   require('csv-spectrum/json/simple.json')],
+
+  ['simple_crlf',
+   require('csv-spectrum/csvs/simple_crlf.csv'),
+   require('csv-spectrum/json/simple_crlf.json')],
+
+  ['utf8',
+   require('csv-spectrum/csvs/utf8.csv'),
+   require('csv-spectrum/json/utf8.json')]
+];
+
 
 describe('csvviewer/model', () => {
 
@@ -23,11 +70,30 @@ describe('csvviewer/model', () => {
         expect(d.columnCount('body')).to.be(3);
         expect([0, 1, 2].map(i => d.data('column-header', 0, i))).to.eql(['1', '2', '3']);
         expect([0, 1, 2].map(i => d.data('body', 0, i))).to.eql(['4', '5', '6']);
-        console.log(empty);
       });
 
     });
 
+    it('parses a number of test files correctly', () => {
+      for (let [ , csv, answer] of CSV_TEST_FILES) {
+        let d = new DSVModel({data: csv, delimiter: ','});
+        let labels = [];
+        for (let i = 0; i < d.columnCount('body'); i++) {
+          labels.push(d.data('column-header', 0, i));
+        }
+        let values = [];
+        for (let r = 0; r < d.rowCount('body'); r++) {
+          let row: {[key: string]: string} = {};
+          for (let c = 0; c < d.columnCount('body'); c++) {
+            row[labels[c]] = d.data('body', r, c);
+          }
+          values.push(row);
+        }
+        expect(values).to.eql(answer);
+      }
+
+    });
+
   });
 
 });

+ 4 - 4
yarn.lock

@@ -128,10 +128,6 @@
   version "1.1.0"
   resolved "https://registry.npmjs.org/@types/comment-json/-/comment-json-1.1.0.tgz#60457bdeab1d6e697ad9cdda275dc3d0b6a5278c"
 
-"@types/d3-dsv@~1.0.30":
-  version "1.0.31"
-  resolved "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-1.0.31.tgz#468302f18ac44db2a3944086388d862503ab9c6c"
-
 "@types/expect.js@~0.3.29":
   version "0.3.29"
   resolved "https://registry.npmjs.org/@types/expect.js/-/expect.js-0.3.29.tgz#28dd359155b84b8ecb094afc3f4b74c3222dca3b"
@@ -1901,6 +1897,10 @@ csso@~2.3.1:
     clap "^1.0.9"
     source-map "^0.5.3"
 
+csv-spectrum@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/csv-spectrum/-/csv-spectrum-1.0.0.tgz#591ac9ff48ad4f3eb4338457bc9801b349e3d628"
+
 currently-unhandled@^0.4.1:
   version "0.4.1"
   resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"