1+ /*---------------------------------------------------------------------------------------------
2+ * Copyright (c) Microsoft Corporation. All rights reserved.
3+ * Licensed under the MIT License. See License.txt in the project root for license information.
4+ *--------------------------------------------------------------------------------------------*/
5+
6+ 'use strict' ;
7+
8+ import * as assert from 'assert' ;
9+ import { getFirstFrame } from 'vs/base/node/console' ;
10+ import { normalize } from 'path' ;
11+
12+ suite ( 'Console' , ( ) => {
13+
14+ test ( 'getFirstFrame' , function ( ) {
15+ let stack = 'at vscode.commands.registerCommand (/Users/someone/Desktop/test-ts/out/src/extension.js:18:17)' ;
16+ let frame = getFirstFrame ( stack ) ;
17+
18+ assert . equal ( frame . uri . fsPath , normalize ( '/Users/someone/Desktop/test-ts/out/src/extension.js' ) ) ;
19+ assert . equal ( frame . line , 18 ) ;
20+ assert . equal ( frame . column , 17 ) ;
21+
22+ stack = 'at /Users/someone/Desktop/test-ts/out/src/extension.js:18:17' ;
23+ frame = getFirstFrame ( stack ) ;
24+
25+ assert . equal ( frame . uri . fsPath , normalize ( '/Users/someone/Desktop/test-ts/out/src/extension.js' ) ) ;
26+ assert . equal ( frame . line , 18 ) ;
27+ assert . equal ( frame . column , 17 ) ;
28+
29+ stack = 'at c:\\Users\\someone\\Desktop\\end-js\\extension.js:18:17' ;
30+ frame = getFirstFrame ( stack ) ;
31+
32+ assert . equal ( frame . uri . fsPath , 'c:\\Users\\someone\\Desktop\\end-js\\extension.js' ) ;
33+ assert . equal ( frame . line , 18 ) ;
34+ assert . equal ( frame . column , 17 ) ;
35+
36+ stack = 'at e.$executeContributedCommand(c:\\Users\\someone\\Desktop\\end-js\\extension.js:18:17)' ;
37+ frame = getFirstFrame ( stack ) ;
38+
39+ assert . equal ( frame . uri . fsPath , 'c:\\Users\\someone\\Desktop\\end-js\\extension.js' ) ;
40+ assert . equal ( frame . line , 18 ) ;
41+ assert . equal ( frame . column , 17 ) ;
42+ } ) ;
43+ } ) ;
0 commit comments