You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					58 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					58 lines
				
				1.6 KiB
			| 
											3 years ago
										 | import {Converter} from "../src/Converter"; | ||
|  | import CSVError from "../src/CSVError"; | ||
|  | var assert = require("assert"); | ||
|  | var fs = require("fs"); | ||
|  | 
 | ||
|  | describe("Converter error handling", function() { | ||
|  |   it("should handle quote not closed", function(done) { | ||
|  |     var rs = fs.createReadStream(__dirname + "/data/dataWithUnclosedQuotes"); | ||
|  |     var conv = new Converter({}); | ||
|  |     conv.on("error", function(err:CSVError) { | ||
|  |       assert(err.err === "unclosed_quote"); | ||
|  |       done(); | ||
|  |     }); | ||
|  |     rs.pipe(conv); | ||
|  |   }); | ||
|  |   | ||
|  | 
 | ||
|  |   it ("should handle column number mismatched error", function(done) { | ||
|  |     var rs = fs.createReadStream(__dirname + "/data/dataWithMismatchedColumn"); | ||
|  |     var conv = new Converter({ | ||
|  |       checkColumn:true | ||
|  |     }); | ||
|  |     var tested = false; | ||
|  |     conv.on("error", function(err:CSVError) { | ||
|  |       if (tested === false) { | ||
|  |         assert(err.err === "column_mismatched"); | ||
|  |         tested = true; | ||
|  |         // done();
 | ||
|  |       } | ||
|  |     }); | ||
|  |     conv.on('done',function() { | ||
|  |       assert(tested); | ||
|  |       done(); | ||
|  |     }); | ||
|  |     rs.pipe(conv); | ||
|  |   }); | ||
|  | 
 | ||
|  |   it("should treat quote not closed as column_mismatched when alwaysSplitAtEOL is true", function(done) { | ||
|  |     var rs = fs.createReadStream(__dirname + "/data/dataWithUnclosedQuotes"); | ||
|  |     var conv = new Converter({ | ||
|  |       checkColumn:true, | ||
|  |       alwaysSplitAtEOL:true, | ||
|  |     }); | ||
|  |     var tested = false; | ||
|  |     conv.on("error", function(err:CSVError) { | ||
|  |       if (tested === false) { | ||
|  |         assert(err.err === "column_mismatched"); | ||
|  |         tested = true; | ||
|  |       } | ||
|  |     }); | ||
|  |     conv.on('done',function() { | ||
|  |       assert(tested); | ||
|  |       done(); | ||
|  |     }); | ||
|  |     rs.pipe(conv); | ||
|  |   }); | ||
|  | }); |