24 lines
		
	
	
		
			677 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			677 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var fs = require('fs');
 | |
| var path = require('path');
 | |
| var vm = require('vm');
 | |
| 
 | |
| var Packet = require('../packet');
 | |
| 
 | |
| var test = require('tap').test;
 | |
| 
 | |
| var fixtureDir = path.join(__dirname, 'fixtures');
 | |
| 
 | |
| var files = fs.readdirSync(fixtureDir).filter(function (f) { return /\.bin$/.test(f); });
 | |
| 
 | |
| files.forEach(function (file) {
 | |
|   test('can parse ' + file, function (t) {
 | |
|     var bin = fs.readFileSync(path.join(fixtureDir, file));
 | |
|     var jsFile = path.join(fixtureDir, file.replace(/\.bin$/, '.js'));
 | |
|     var js = 'foo = ' + fs.readFileSync(jsFile, 'utf8');
 | |
|     js = vm.runInThisContext(js, jsFile);
 | |
|     var ret = Packet.parse(bin);
 | |
|     t.equivalent(ret, js);
 | |
|     t.end();
 | |
|   });
 | |
| });
 |