Tests that stepOver and stepInto correctly handle skipLists.
Test: Stepping over without skip list
Testing stepOver with skipList: []
test: 1:2
test: 2:10
test: 3:12
test: 4:2
test: 5:4
test: 7:10
test: 8:2
test: 9:13
Test: Stepping over with skip list
Testing stepOver with skipList: [{"scriptId":"3","start":{"lineNumber":2,"columnNumber":0},"end":{"lineNumber":4,"columnNumber":0}},{"scriptId":"3","start":{"lineNumber":8,"columnNumber":0},"end":{"lineNumber":9,"columnNumber":0}}]
test: 1:2
test: 4:2
test: 5:4
test: 7:10
test: 9:13
Test: Stepping over start location is inclusive
Testing stepOver with skipList: [{"scriptId":"3","start":{"lineNumber":8,"columnNumber":2},"end":{"lineNumber":9,"columnNumber":0}}]
test: 1:2
test: 2:10
test: 3:12
test: 4:2
test: 5:4
test: 7:10
test: 9:13
Test: Stepping over end location is exclusive
Testing stepOver with skipList: [{"scriptId":"3","start":{"lineNumber":2,"columnNumber":0},"end":{"lineNumber":8,"columnNumber":2}}]
test: 1:2
test: 8:2
test: 9:13
Test: Stepping into without skip list
Testing stepInto with skipList: []
test: 1:2
test: 2:10
test: 3:12
test: 4:2
test: 5:4
test: 7:10
test: 8:2
add: 1:12
add: 2:13
test: 9:13
Test: Stepping into with skip list, while call itself is skipped
Testing stepInto with skipList: [{"scriptId":"4","start":{"lineNumber":1,"columnNumber":0},"end":{"lineNumber":2,"columnNumber":0}},{"scriptId":"3","start":{"lineNumber":2,"columnNumber":0},"end":{"lineNumber":9,"columnNumber":0}}]
test: 1:2
add: 2:13
test: 9:13
Test: Stepping into start location is inclusive
Testing stepInto with skipList: [{"scriptId":"4","start":{"lineNumber":2,"columnNumber":13},"end":{"lineNumber":3,"columnNumber":0}}]
test: 1:2
test: 2:10
test: 3:12
test: 4:2
test: 5:4
test: 7:10
test: 8:2
add: 1:12
test: 9:13
Test: Stepping into end location is exclusive
Testing stepInto with skipList: [{"scriptId":"4","start":{"lineNumber":1,"columnNumber":0},"end":{"lineNumber":2,"columnNumber":13}}]
test: 1:2
test: 2:10
test: 3:12
test: 4:2
test: 5:4
test: 7:10
test: 8:2
add: 2:13
test: 9:13
Test: start position has invalid column number
Testing stepOver with skipList: [{"scriptId":"3","start":{"lineNumber":2,"columnNumber":-1},"end":{"lineNumber":9,"columnNumber":0}}]
test: 1:2
Position missing 'column' or 'column' < 0.
Test: start position has invalid line number
Testing stepOver with skipList: [{"scriptId":"3","start":{"lineNumber":-1,"columnNumber":0},"end":{"lineNumber":2,"columnNumber":0}}]
test: 1:2
Position missing 'line' or 'line' < 0.
Test: end position smaller than start position
Testing stepOver with skipList: [{"scriptId":"3","start":{"lineNumber":4,"columnNumber":0},"end":{"lineNumber":2,"columnNumber":0}}]
test: 1:2
Input positions array is not sorted or contains duplicate values.
Test: skip list is not maximally merged
Testing stepOver with skipList: [{"scriptId":"3","start":{"lineNumber":2,"columnNumber":0},"end":{"lineNumber":4,"columnNumber":0}},{"scriptId":"3","start":{"lineNumber":4,"columnNumber":0},"end":{"lineNumber":9,"columnNumber":0}}]
test: 1:2
Input positions array is not sorted or contains duplicate values.
Test: skip list is not sorted
Testing stepOver with skipList: [{"scriptId":"3","start":{"lineNumber":8,"columnNumber":0},"end":{"lineNumber":9,"columnNumber":0}},{"scriptId":"3","start":{"lineNumber":2,"columnNumber":0},"end":{"lineNumber":4,"columnNumber":0}}]
test: 1:2
Input positions array is not sorted or contains duplicate values.
Test: start position has invalid column number
Testing stepInto with skipList: [{"scriptId":"3","start":{"lineNumber":2,"columnNumber":-1},"end":{"lineNumber":9,"columnNumber":0}}]
test: 1:2
Position missing 'column' or 'column' < 0.
Test: start position has invalid line number
Testing stepInto with skipList: [{"scriptId":"3","start":{"lineNumber":-1,"columnNumber":0},"end":{"lineNumber":2,"columnNumber":0}}]
test: 1:2
Position missing 'line' or 'line' < 0.
Test: end position smaller than start position
Testing stepInto with skipList: [{"scriptId":"3","start":{"lineNumber":4,"columnNumber":0},"end":{"lineNumber":2,"columnNumber":0}}]
test: 1:2
Input positions array is not sorted or contains duplicate values.
Test: skip list is not maximally merged
Testing stepInto with skipList: [{"scriptId":"3","start":{"lineNumber":2,"columnNumber":0},"end":{"lineNumber":4,"columnNumber":0}},{"scriptId":"3","start":{"lineNumber":4,"columnNumber":0},"end":{"lineNumber":9,"columnNumber":0}}]
test: 1:2
Input positions array is not sorted or contains duplicate values.
Test: skip list is not sorted
Testing stepInto with skipList: [{"scriptId":"3","start":{"lineNumber":8,"columnNumber":0},"end":{"lineNumber":9,"columnNumber":0}},{"scriptId":"3","start":{"lineNumber":2,"columnNumber":0},"end":{"lineNumber":4,"columnNumber":0}}]
test: 1:2
Input positions array is not sorted or contains duplicate values.
