From 6bfc806d7baf10d998142ca0b09907e1d2cd4b1f Mon Sep 17 00:00:00 2001 From: Jamie Cansdale Date: Tue, 7 Jun 2016 00:18:07 +0100 Subject: [PATCH 1/2] Make lines and columns 1-based inside Visual Studio, but let them be 0-based inside JavaScript files (consistent with v8 debugger and TypeScript). --- Nodejs/Product/TestAdapter/TestFrameworks/TestFramework.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Nodejs/Product/TestAdapter/TestFrameworks/TestFramework.cs b/Nodejs/Product/TestAdapter/TestFrameworks/TestFramework.cs index 6b9c663a8..3e5b06346 100644 --- a/Nodejs/Product/TestAdapter/TestFrameworks/TestFramework.cs +++ b/Nodejs/Product/TestAdapter/TestFrameworks/TestFramework.cs @@ -84,7 +84,9 @@ public List FindTests(IEnumerable testFiles, List discoveredTests = (List)JsonConvert.DeserializeObject(testInfo, typeof(List)); if (discoveredTests != null) { foreach (DiscoveredTest discoveredTest in discoveredTests) { - NodejsTestInfo test = new NodejsTestInfo(discoveredTest.File, discoveredTest.Test, Name, discoveredTest.Line, discoveredTest.Column); + var line = discoveredTest.Line + 1; + var column = discoveredTest.Column + 1; + NodejsTestInfo test = new NodejsTestInfo(discoveredTest.File, discoveredTest.Test, Name, line, column); testCases.Add(test); } } From a8ce22ceac026ef65c0a43a3b55788596030bce2 Mon Sep 17 00:00:00 2001 From: Jamie Cansdale Date: Tue, 7 Jun 2016 00:34:24 +0100 Subject: [PATCH 2/2] Changed to allow test frameworks to use 0-based lines/columns. --- .../Nodejs/TestFrameworks/ExportRunner/exportrunner.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Nodejs/Product/Nodejs/TestFrameworks/ExportRunner/exportrunner.js b/Nodejs/Product/Nodejs/TestFrameworks/ExportRunner/exportrunner.js index 42a8b71e5..88dc6b431 100644 --- a/Nodejs/Product/Nodejs/TestFrameworks/ExportRunner/exportrunner.js +++ b/Nodejs/Product/Nodejs/TestFrameworks/ExportRunner/exportrunner.js @@ -21,16 +21,14 @@ var find_tests = function (testFileList, discoverResultFile) { return; } for (var test in testCases) { - var line = 1; // line 0 doesn't exist in editor - var column = 1; + var line = 0; + var column = 0; if (debug !== undefined) { try { var funcDetails = debug.findFunctionSourceLocation(testCases[test]); if (funcDetails != undefined) { - //v8 is 0 based line numbers, editor is 1 based - line = parseInt(funcDetails.line) + 1; - //v8 is 0 based column numbers, editor is 1 based - column = parseInt(funcDetails.column) + 1; + line = funcDetails.line; // 0 based + column = funcDetails.column; // 0 based } } catch (e) { //If we take an exception mapping the source line, simply fallback to unknown source map