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.
		
		
		
		
			
				
					30 lines
				
				643 B
			
		
		
			
		
	
	
					30 lines
				
				643 B
			| 
								 
											4 years ago
										 
									 | 
							
								var tap = require("tap")
							 | 
						||
| 
								 | 
							
								  , tar = require("../tar.js")
							 | 
						||
| 
								 | 
							
								  , fs = require("fs")
							 | 
						||
| 
								 | 
							
								  , path = require("path")
							 | 
						||
| 
								 | 
							
								  , file = path.resolve(__dirname, "fixtures/c.tar")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tap.test("parser test", function (t) {
							 | 
						||
| 
								 | 
							
								  var parser = tar.Parse()
							 | 
						||
| 
								 | 
							
								  var total = 0
							 | 
						||
| 
								 | 
							
								  var dataTotal = 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  parser.on("end", function () {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    t.equals(total-513,dataTotal,'should have discarded only c.txt')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    t.end()
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  fs.createReadStream(file)
							 | 
						||
| 
								 | 
							
								    .pipe(parser)
							 | 
						||
| 
								 | 
							
								    .on('entry',function(entry){
							 | 
						||
| 
								 | 
							
								      if(entry.path === 'c.txt') entry.abort()
							 | 
						||
| 
								 | 
							
								      
							 | 
						||
| 
								 | 
							
								      total += entry.size;
							 | 
						||
| 
								 | 
							
								      entry.on('data',function(data){
							 | 
						||
| 
								 | 
							
								        dataTotal += data.length        
							 | 
						||
| 
								 | 
							
								      })
							 | 
						||
| 
								 | 
							
								    })
							 | 
						||
| 
								 | 
							
								})
							 |