// This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. // TEST BEGIN // verify debugger line numbers are accurate try { ` a b c `; throw Error("error"); } catch (e) { assertEq(e.lineNumber, 14); } try { function tagThatThrows(...args) { throw new Error(); } tagThatThrows` multi-line template string`; } catch (e) { var stackLines = e.stack.split('\n'); var firstLine = stackLines[0].split(':'); var secondLine = stackLines[1].split(':'); var firstLineSize = firstLine.length; var secondLineSize = secondLine.length; assertEq(firstLine[firstLineSize - 2], "20"); assertEq(firstLine[firstLineSize - 1], "45"); assertEq(secondLine[secondLineSize - 2], "22"); assertEq(secondLine[secondLineSize - 1], "18"); } try { ` multi-line template with ${substitutionThatThrows()}` } catch (e) { assertEq(e.lineNumber, 42); } reportCompare(0, 0, "ok");