Test for Debugger.getPossibleBreakpoints Running test: getPossibleBreakpointsInRange Test start.scriptId != end.scriptId. { error : { code : -32000 message : Locations should contain the same scriptId } id : } Test not existing scriptId. { error : { code : -32000 message : Script not found } id : } Test end < start. function foo(){ return Promise.resolve(); } function boo(){ return Promise.resolve().then(() => 42); } Test empty range in first line. function foo(){ return Promise.resolve(); } function boo(){ return Promise.resolve().then(() => 42); } Test one character range in first line. function foo(){ #return Promise.resolve(); } function boo(){ return Promise.resolve().then(() => 42); } Test empty range in not first line. function foo(){ return Promise.resolve(); } function boo(){ return Promise.resolve().then(() => 42); } Test one character range in not first line. function foo(){ return Promise.resolve(); } function boo(){ #return Promise.resolve().then(() => 42); } Test end is undefined function foo(){ #return Promise.#resolve();# } function boo(){ #return Promise.#resolve().#then(() => #42#);# } # Test end.lineNumber > scripts.lineCount() function foo(){ #return Promise.#resolve();# } function boo(){ #return Promise.#resolve().#then(() => #42#);# } Test one string function foo(){ #return Promise.#resolve();# } function boo(){ return Promise.resolve().then(() => 42); } Test end.columnNumber > end.line.length(), should be the same as previous. function foo(){ #return Promise.#resolve();# } function boo(){ return Promise.resolve().then(() => 42); } Running test: getPossibleBreakpointsInArrow function foo() { #return Promise.#resolve().#then(() => #239#).#then(() => #42#).#then(() => #() => #42#)# }# Running test: arrowFunctionFirstLine function foo1() { #Promise.#resolve().#then(() => #42#) #} function foo2() { Promise.resolve().then(() => 42) } paused in foo1 function foo1() { ^Promise.resolve().then(() => 42) } function foo2() { Promise.resolve().then(() => 42) } paused in foo1 function foo1() { Promise.^resolve().then(() => 42) } function foo2() { Promise.resolve().then(() => 42) } paused in foo1 function foo1() { Promise.resolve().^then(() => 42) } function foo2() { Promise.resolve().then(() => 42) } paused in foo1 function foo1() { Promise.resolve().then(() => 42) ^} function foo2() { Promise.resolve().then(() => 42) } paused in function foo1() { Promise.resolve().then(() => ^42) } function foo2() { Promise.resolve().then(() => 42) } paused in function foo1() { Promise.resolve().then(() => 42^) } function foo2() { Promise.resolve().then(() => 42) } Running test: arrowFunctionOnPause #debugger; function foo3() { #Promise.#resolve().#then(() => #42#) #} function foo4() { #Promise.#resolve().#then(() => #42#) #}; #foo3(); #foo4();# paused in debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => 42) }; ^foo3(); foo4(); paused in foo3 debugger; function foo3() { ^Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in foo3 debugger; function foo3() { Promise.^resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in foo3 debugger; function foo3() { Promise.resolve().^then(() => 42) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in foo3 debugger; function foo3() { Promise.resolve().then(() => 42) ^} function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); ^foo4(); paused in foo4 debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { ^Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in foo4 debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.^resolve().then(() => 42) }; foo3(); foo4(); paused in foo4 debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().^then(() => 42) }; foo3(); foo4(); paused in foo4 debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => 42) ^}; foo3(); foo4(); paused in debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4();^ paused in debugger; function foo3() { Promise.resolve().then(() => ^42) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in debugger; function foo3() { Promise.resolve().then(() => 42^) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => ^42) }; foo3(); foo4(); paused in debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => 42^) }; foo3(); foo4(); Running test: getPossibleBreakpointsInRangeWithOffset Test empty range in first line. function foo(){ return Promise.resolve(); } function boo(){ return Promise.resolve().then(() => 42); } Test one character range in first line. function foo(){ #return Promise.resolve(); } function boo(){ return Promise.resolve().then(() => 42); } Test empty range in not first line. function foo(){ return Promise.resolve(); } function boo(){ return Promise.resolve().then(() => 42); } Test one character range in not first line. function foo(){ return Promise.resolve(); } function boo(){ #return Promise.resolve().then(() => 42); } Test end is undefined function foo(){ #return Promise.#resolve();# } function boo(){ #return Promise.#resolve().#then(() => #42#);# } # Test end.lineNumber > scripts.lineCount() function foo(){ #return Promise.#resolve();# } function boo(){ #return Promise.#resolve().#then(() => #42#);# } Test one string function foo(){ #return Promise.#resolve();# } function boo(){ return Promise.resolve().then(() => 42); } Test end.columnNumber > end.line.length(), should be the same as previous. function foo(){ #return Promise.#resolve();# } function boo(){ return Promise.resolve().then(() => 42); } Running test: withOffset function foo5() { #Promise.#resolve().#then(() => #42#) #} function foo6() { #Promise.#resolve().#then(() => #42#) #} # paused in foo5 function foo5() { ^Promise.resolve().then(() => 42) } function foo6() { Promise.resolve().then(() => 42) } paused in foo5 function foo5() { Promise.^resolve().then(() => 42) } function foo6() { Promise.resolve().then(() => 42) } paused in foo5 function foo5() { Promise.resolve().^then(() => 42) } function foo6() { Promise.resolve().then(() => 42) } paused in foo5 function foo5() { Promise.resolve().then(() => 42) ^} function foo6() { Promise.resolve().then(() => 42) } paused in foo6 function foo5() { Promise.resolve().then(() => 42) } function foo6() { ^Promise.resolve().then(() => 42) } paused in foo6 function foo5() { Promise.resolve().then(() => 42) } function foo6() { Promise.^resolve().then(() => 42) } paused in foo6 function foo5() { Promise.resolve().then(() => 42) } function foo6() { Promise.resolve().^then(() => 42) } paused in foo6 function foo5() { Promise.resolve().then(() => 42) } function foo6() { Promise.resolve().then(() => 42) ^} paused in function foo5() { Promise.resolve().then(() => ^42) } function foo6() { Promise.resolve().then(() => 42) } paused in function foo5() { Promise.resolve().then(() => 42^) } function foo6() { Promise.resolve().then(() => 42) } paused in function foo5() { Promise.resolve().then(() => 42) } function foo6() { Promise.resolve().then(() => ^42) } paused in function foo5() { Promise.resolve().then(() => 42) } function foo6() { Promise.resolve().then(() => 42^) } Running test: arrowFunctionReturn #() => #239# # function foo() { function boo() { return 239 } #} # function foo() { function boo() { #return 239# }; #boo #} # function foo() { let boo = #function() { #return 239# }; #} # #() => { #239 #} # function foo() { #239 #} # #() => #239# #() => { #return 239# }# Running test: argumentsAsCalls function foo(){#} function boo(){#} function main(f1,f2){#} #main(#foo(), #boo()); #