Check different set breakpoint cases.
Set breakpoint at function g..
Breakpoint set at:
  // Comment.
  #f();
}

Call g..
Breakpoint hit at:
  // Comment.
  #f();
}

hitBreakpoints contains breakpoint: true

Set breakpoint at function f when we on pause..
Breakpoint set at:
function f() {
  #a=1;
};

Resume..
Breakpoint hit at:
function f() {
  #a=1;
};

hitBreakpoints contains breakpoint: true

Set breakpoint by url at sourceUrlFunc..
Breakpoint set at:
function sourceUrlFunc() { #a = 2; }

Call sourceUrlFunc..
Breakpoint hit at:
function sourceUrlFunc() { #a = 2; }

hitBreakpoints contains breakpoint: true

Set breakpoint at empty line by url in top level function..
Breakpoint resolved at:
// last line#

Breakpoint hit at:
// last line#

hitBreakpoints contains breakpoint: true

