@@ -10,43 +10,65 @@ suite('AngularHtmlDefinitionProvider', () => {
1010 await openFileInVscode ( templateFilePath ) ;
1111 } ) ;
1212
13- test ( 'should resolve interpolation' , async ( ) => {
14- const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
15- vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 1 , 8 ) ) ;
16-
17- assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
18- assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
19- assert . equal ( result [ 0 ] . range . start . line , 6 , 'wrong line position' ) ;
20- assert . equal ( result [ 0 ] . range . start . character , 12 , 'wrong character position' ) ;
21- } ) ;
13+ suite ( 'should resolve property/method' , ( ) => {
14+ test ( 'from interpolation' , async ( ) => {
15+ const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
16+ vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 1 , 8 ) ) ;
2217
23- test ( 'should resolve one way binded input' , async ( ) => {
24- const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
25- vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 2 , 40 ) ) ;
18+ assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
19+ assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
20+ assert . equal ( result [ 0 ] . range . start . line , 6 , 'wrong line position' ) ;
21+ assert . equal ( result [ 0 ] . range . start . character , 12 , 'wrong character position' ) ;
22+ } ) ;
2623
27- assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
28- assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
29- assert . equal ( result [ 0 ] . range . start . line , 11 , 'wrong line position' ) ;
30- assert . equal ( result [ 0 ] . range . start . character , 14 , 'wrong character position' ) ;
31- } ) ;
24+ test ( 'from interpolation with pipe' , async ( ) => {
25+ const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
26+ vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 6 , 9 ) ) ;
3227
33- test ( 'should resolve two way binded input' , async ( ) => {
34- const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
35- vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 2 , 62 ) ) ;
28+ assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
29+ assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
30+ assert . equal ( result [ 0 ] . range . start . line , 6 , 'wrong line position' ) ;
31+ assert . equal ( result [ 0 ] . range . start . character , 12 , 'wrong character position' ) ;
32+ } ) ;
3633
37- assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
38- assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
39- assert . equal ( result [ 0 ] . range . start . line , 7 , 'wrong line position' ) ;
40- assert . equal ( result [ 0 ] . range . start . character , 16 , 'wrong character position' ) ;
41- } ) ;
42-
43- test ( 'should resolve output' , async ( ) => {
44- const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
45- vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 2 , 86 ) ) ;
46-
47- assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
48- assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
49- assert . equal ( result [ 0 ] . range . start . line , 15 , 'wrong line position' ) ;
50- assert . equal ( result [ 0 ] . range . start . character , 10 , 'wrong character position' ) ;
34+ test ( 'from one way binded input attribute' , async ( ) => {
35+ const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
36+ vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 2 , 40 ) ) ;
37+
38+ assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
39+ assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
40+ assert . equal ( result [ 0 ] . range . start . line , 11 , 'wrong line position' ) ;
41+ assert . equal ( result [ 0 ] . range . start . character , 14 , 'wrong character position' ) ;
42+ } ) ;
43+
44+ test ( 'from two way binded input attribute' , async ( ) => {
45+ const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
46+ vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 2 , 62 ) ) ;
47+
48+ assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
49+ assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
50+ assert . equal ( result [ 0 ] . range . start . line , 7 , 'wrong line position' ) ;
51+ assert . equal ( result [ 0 ] . range . start . character , 25 , 'wrong character position' ) ;
52+ } ) ;
53+
54+ test ( 'from output attribute' , async ( ) => {
55+ const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
56+ vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 2 , 86 ) ) ;
57+
58+ assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
59+ assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
60+ assert . equal ( result [ 0 ] . range . start . line , 15 , 'wrong line position' ) ;
61+ assert . equal ( result [ 0 ] . range . start . character , 10 , 'wrong character position' ) ;
62+ } ) ;
63+
64+ test ( 'from structural attribute' , async ( ) => {
65+ const result = await vscode . commands . executeCommand < vscode . Location [ ] > ( 'vscode.executeDefinitionProvider' ,
66+ vscode . Uri . file ( templateFilePath ) , new vscode . Position ( 4 , 15 ) ) ;
67+
68+ assert . notEqual ( result [ 0 ] , undefined , 'definition did not resolve' ) ;
69+ assert . equal ( result [ 0 ] . uri . fsPath , workspaceFilePath ( 'foo.component.ts' ) , 'wrong file resolution' ) ;
70+ assert . equal ( result [ 0 ] . range . start . line , 19 , 'wrong line position' ) ;
71+ assert . equal ( result [ 0 ] . range . start . character , 6 , 'wrong character position' ) ;
72+ } ) ;
5173 } ) ;
5274} ) ;
0 commit comments