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
						
					
					
				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);
 | 
						|
  });
 | 
						|
});
 |