forked from sheetjs/sheetjs
		
	
		
			
	
	
		
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | /* vim: set ts=2: */ | ||
|  | var XLSX; | ||
|  | var fs = require('fs'), assert = require('assert'); | ||
|  | describe('source', function() { it('should load', function() { XLSX = require('./'); }); }); | ||
|  | 
 | ||
|  | var files = (fs.existsSync('tests.lst') ? fs.readFileSync('tests.lst', 'utf-8').split("\n") : fs.readdirSync('test_files')).filter(function(x){return x.substr(-5)==".xlsx" || x.substr(-13)==".xlsx.pending"}); | ||
|  | 
 | ||
|  | function parsetest(x, wb) { | ||
|  | 	describe(x + ' should have all bits', function() { | ||
|  | 		var sname = './test_files/' + x + '.sheetnames'; | ||
|  | 		it('should have all sheets', function() { | ||
|  | 			wb.SheetNames.forEach(function(y) { assert(wb.Sheets[y], 'bad sheet ' + y); }); | ||
|  | 		}); | ||
|  | 		it('should have the right sheet names', fs.existsSync(sname) ? function() { | ||
|  | 			var file = fs.readFileSync(sname, 'utf-8'); | ||
|  | 			var names = wb.SheetNames.join("\n") + "\n"; | ||
|  | 			assert.equal(file, names); | ||
|  | 		} : null); | ||
|  | 	}); | ||
|  | 	describe(x + ' should generate correct output', function() { | ||
|  | 		wb.SheetNames.forEach(function(ws, i) { | ||
|  | 			var name = ('./test_files/' + x + '.' + i + '.csv'); | ||
|  | 			it('#' + i + ' (' + ws + ')', fs.existsSync(name) ? function() { | ||
|  | 				var file = fs.readFileSync(name, 'utf-8'); | ||
|  | 				var csv = XLSX.utils.make_csv(wb.Sheets[ws]); | ||
|  | 				assert.equal(file.replace(/"/g,""), csv.replace(/"/g,""), "CSV badness"); | ||
|  | 			} : null); | ||
|  | 		}); | ||
|  | 	}); | ||
|  | } | ||
|  | 
 | ||
|  | describe('should parse test files', function() { | ||
|  | 	files.forEach(function(x) { | ||
|  | 		it(x, x.substr(-8) == ".pending" ? null : function() { | ||
|  | 			var wb = XLSX.readFile('./test_files/' + x); | ||
|  | 			parsetest(x, wb); | ||
|  | 		}); | ||
|  | 	}); | ||
|  | }); |