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.
		
		
		
		
		
			
		
			
				
					
					
						
							33 lines
						
					
					
						
							818 B
						
					
					
				
			
		
		
	
	
							33 lines
						
					
					
						
							818 B
						
					
					
				var tape = require('tape'); | 
						|
var proc = require('child_process'); | 
						|
var path = require('path'); | 
						|
 | 
						|
tape('print to stdout', function(t) { | 
						|
	proc.exec('"'+process.execPath+'" '+path.join(__dirname,'fixtures','hello-world.js'), function(err, stdout) { | 
						|
		t.ok(!err); | 
						|
		t.same(stdout,'hello\nworld\n'); | 
						|
		t.end(); | 
						|
	}); | 
						|
}); | 
						|
 | 
						|
tape('end stdout', function(t) { | 
						|
	var ch = proc.exec('"'+process.execPath+'" '+path.join(__dirname,'fixtures','end.js')); | 
						|
	var buf = []; | 
						|
	var processOnExit = false; | 
						|
	var stdoutOnEnd = false; | 
						|
 | 
						|
	ch.stdout.on('data', function(data) { | 
						|
		buf.push(data); | 
						|
	}); | 
						|
	ch.stdout.on('end', function() { | 
						|
		t.same(Buffer.concat(buf).toString(), 'stdout'); | 
						|
		t.ok(!processOnExit); | 
						|
		stdoutOnEnd = true; | 
						|
	}); | 
						|
	ch.on('exit', function(code) { | 
						|
		processOnExit = true; | 
						|
		t.ok(stdoutOnEnd); | 
						|
		t.same(code, 0); | 
						|
		t.end(); | 
						|
	}); | 
						|
}); |