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 Promise.resolve.then function foo1() { Promise.resolve().then(() => ^42) } function foo2() { Promise.resolve().then(() => 42) } paused in Promise.resolve.then 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 Promise.resolve.then debugger; function foo3() { Promise.resolve().then(() => ^42) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in Promise.resolve.then debugger; function foo3() { Promise.resolve().then(() => 42^) } function foo4() { Promise.resolve().then(() => 42) }; foo3(); foo4(); paused in Promise.resolve.then debugger; function foo3() { Promise.resolve().then(() => 42) } function foo4() { Promise.resolve().then(() => ^42) }; foo3(); foo4(); paused in Promise.resolve.then 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 Promise.resolve.then function foo5() { Promise.resolve().then(() => ^42) } function foo6() { Promise.resolve().then(() => 42) } paused in Promise.resolve.then function foo5() { Promise.resolve().then(() => 42^) } function foo6() { Promise.resolve().then(() => 42) } paused in Promise.resolve.then function foo5() { Promise.resolve().then(() => 42) } function foo6() { Promise.resolve().then(() => ^42) } paused in Promise.resolve.then function foo5() { Promise.resolve().then(() => 42) } function foo6() { Promise.resolve().then(() => 42^) } Running test: arrowFunctionReturn #() => #239# function foo() { function boo() { #return 239 #} #}# #() => { #239 #}# function foo() { #239 #}# #() => #23#9# #() => { #return 239 #} Running test: argumentsAsCalls function foo(){#} function boo(){#} function main(f1,f2){#} #main(#foo(), #boo());#