diff --git a/test/simple/test-debugger-repl.js b/test/simple/test-debugger-repl.js index ef560e7ac0b..df1b14298ee 100644 --- a/test/simple/test-debugger-repl.js +++ b/test/simple/test-debugger-repl.js @@ -58,15 +58,20 @@ child.on('line', function(line) { function addTest(input, output) { function next() { if (expected.length > 0) { - child.stdin.write(expected[0].input + '\n'); + var res = child.stdin.write(expected[0].input + '\n'), + callback; if (!expected[0].lines) { - setTimeout(function() { - var callback = expected[0].callback; - expected.shift(); + callback = expected[0].callback; + expected.shift(); + } - callback && callback(); - }, 50); + if (callback) { + if (res !== true) { + child.stdin.on('drain', callback); + } else { + process.nextTick(callback); + } } } else { finish(); @@ -90,7 +95,7 @@ addTest('n', [ ]); // Watch -addTest('watch("\'x\'")'); +addTest('watch("\'x\'"), true', [/true/]); // Continue addTest('c', [ @@ -107,7 +112,7 @@ addTest('watchers', [ ]); // Unwatch -addTest('unwatch("\'x\'")'); +addTest('unwatch("\'x\'"), true', [ /true/ ]); // Step out addTest('o', [