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.
		
		
		
		
		
			
		
			
				
					46 lines
				
				707 B
			
		
		
			
		
	
	
					46 lines
				
				707 B
			| 
											3 years ago
										 | var test = require('tape') | ||
|  | var through = require('../') | ||
|  | 
 | ||
|  | // must emit end before close.
 | ||
|  | 
 | ||
|  | test('end before close', function (assert) { | ||
|  |   var ts = through() | ||
|  |   var ended = false, closed = false | ||
|  | 
 | ||
|  |   ts.on('end', function () { | ||
|  |     assert.ok(!closed) | ||
|  |     ended = true | ||
|  |   }) | ||
|  |   ts.on('close', function () { | ||
|  |     assert.ok(ended) | ||
|  |     closed = true | ||
|  |   }) | ||
|  | 
 | ||
|  |   ts.write(1) | ||
|  |   ts.write(2) | ||
|  |   ts.write(3) | ||
|  |   ts.end() | ||
|  |   assert.ok(ended) | ||
|  |   assert.ok(closed) | ||
|  |   assert.end() | ||
|  | }) | ||
|  | 
 | ||
|  | test('end only once', function (t) { | ||
|  | 
 | ||
|  |   var ts = through() | ||
|  |   var ended = false, closed = false | ||
|  | 
 | ||
|  |   ts.on('end', function () { | ||
|  |     t.equal(ended, false) | ||
|  |     ended = true | ||
|  |   }) | ||
|  | 
 | ||
|  |   ts.queue(null) | ||
|  |   ts.queue(null) | ||
|  |   ts.queue(null) | ||
|  | 
 | ||
|  |   ts.resume() | ||
|  | 
 | ||
|  |   t.end() | ||
|  | }) |