Browse Source

debugger: use regexps in repl test

Fixes #1788
v0.7.4-release
Fedor Indutny 13 years ago
committed by Ryan Dahl
parent
commit
542156a6a1
  1. 68
      test/simple/test-debugger-repl.js

68
test/simple/test-debugger-repl.js

@ -46,7 +46,7 @@ child.on('line', function(line) {
assert.ok(expected.length > 0, 'Got unexpected line: ' + line); assert.ok(expected.length > 0, 'Got unexpected line: ' + line);
var expectedLine = expected[0].lines.shift(); var expectedLine = expected[0].lines.shift();
assert.equal(line, expectedLine); assert.ok(line.match(expectedLine) !== null);
if (expected[0].lines.length === 0) { if (expected[0].lines.length === 0) {
var callback = expected[0].callback; var callback = expected[0].callback;
@ -68,84 +68,50 @@ function addTest(input, output) {
// Initial lines // Initial lines
addTest(null, [ addTest(null, [
"debug> \b< debugger listening on port 5858", /listening on port 5858/,
"debug> \bconnecting... ok", /connecting... ok/,
"debug> \bbreak in [unnamed]:3", /break in .*:3/,
"\b 1 ", /1/, /2/, /3/, /4/, /5/
"\b 2 debugger;",
"\b 3 debugger;",
"\b 4 function a(x) {",
"\b 5 var i = 10;"
]); ]);
// Next // Next
addTest('n', [ addTest('n', [
"debug> debug> debug> \bbreak in [unnamed]:13", /break in .*:13/,
"\b 11 return ['hello', 'world'].join(' ');", /11/, /12/, /13/, /14/, /15/
"\b 12 };",
"\b 13 a();",
"\b 14 a(1);",
"\b 15 b();"
]); ]);
// Continue // Continue
addTest('c', [ addTest('c', [
"debug> debug> debug> \bbreak in [unnamed]:7", /break in .*:7/,
"\b 5 var i = 10;", /5/, /6/, /7/, /8/, /9/
"\b 6 while (--i != 0);",
"\b 7 debugger;",
"\b 8 return i;",
"\b 9 };"
]); ]);
// Step out // Step out
addTest('o', [ addTest('o', [
"debug> debug> debug> \bbreak in [unnamed]:14", /break in .*:14/,
"\b 12 };", /12/, /13/, /14/, /15/, /16/
"\b 13 a();",
"\b 14 a(1);",
"\b 15 b();",
"\b 16 b();"
]); ]);
// Continue // Continue
addTest('c', [ addTest('c', [
"debug> debug> debug> \bbreak in [unnamed]:7", /break in .*:7/,
"\b 5 var i = 10;", /5/, /6/, /7/, /8/, /9/
"\b 6 while (--i != 0);",
"\b 7 debugger;",
"\b 8 return i;",
"\b 9 };"
]); ]);
// Set breakpoint by function name // Set breakpoint by function name
addTest('sb("setInterval()", "!(setInterval.flag++)")', [ addTest('sb("setInterval()", "!(setInterval.flag++)")', [
"debug> \b 2 debugger;", /2/, /3/, /4/, /5/, /6/, /7/, /8/, /9/, /10/, /11/, /12/
"\b 3 debugger;",
"\b 4 function a(x) {",
"\b 5 var i = 10;",
"\b 6 while (--i != 0);",
"\b 7 debugger;",
"\b 8 return i;",
"\b 9 };",
"\b 10 function b() {",
"\b 11 return ['hello', 'world'].join(' ');",
"\b 12 };"
]); ]);
// Continue // Continue
addTest('c', [ addTest('c', [
"debug> debug> debug> debug> \bbreak in node.js:150", /break in node.js:\d+/,
"\b*148 ", /\d/, /\d/, /\d/, /\d/, /\d/
"\b 149 global.setInterval = function() {",
"\b 150 var t = NativeModule.require('timers');",
"\b 151 return t.setInterval.apply(this, arguments);",
"\b 152 };"
]); ]);
// Continue // Continue
addTest('c, bt', [ addTest('c, bt', [
"debug> \bCan't request backtrace now" /Can't request backtrace now/
]); ]);

Loading…
Cancel
Save