1+ import { relative } from 'path' ;
12import { DocumentLink , Position , Range } from 'vscode' ;
2- import { URI } from 'vscode-uri' ;
33import { phpUnitProject } from './PHPUnit/__tests__/utils' ;
44import { PHPUnitLinkProvider } from './PHPUnitLinkProvider' ;
55
@@ -29,6 +29,9 @@ class TextDocument {
2929}
3030
3131describe ( 'PHPUnitLinkProvider' , ( ) => {
32+ const root = phpUnitProject ( '' ) ;
33+ const normalizePath = ( file : string ) => relative ( root , file ) . replace ( / \\ / g, '/' ) ;
34+
3235 const text = `❌ FAILED Calculator (Tests\Calculator) > Sum item method not call
3336Mockery\Exception\InvalidCountException: Method test(<Any Arguments>) from Mockery_0_App_Item_App_Item should be called
3437 exactly 1 times but called 0 times.
@@ -43,28 +46,25 @@ Mockery\Exception\InvalidCountException: Method test(<Any Arguments>) from Mocke
43468. ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php' ) } :61
44479. ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditions.php' ) } :19` ;
4548
46- const formatTarget = ( uri : URI ) => {
47- return `${ uri . fsPath } :${ uri . fragment . replace ( / ^ L / , '' ) } ` ;
48- } ;
49-
5049 let provider : PHPUnitLinkProvider ;
5150 beforeEach ( ( ) => provider = new PHPUnitLinkProvider ( ) ) ;
5251
5352 it ( 'get links' , ( ) => {
5453 const document = new TextDocument ( text ) ;
5554
56- const links = provider . provideDocumentLinks ( document as any , { } as any ) as DocumentLink [ ] ;
55+ const links = ( provider . provideDocumentLinks ( document as any , { } as any ) as DocumentLink [ ] )
56+ . map ( ( link ) => [ normalizePath ( link . target ! . fsPath ) , link . target ! . fragment ] ) ;
5757
58- expect ( links . map ( ( link ) => formatTarget ( link . target ! ) ) ) . toEqual ( [
59- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/CountValidator/Exact.php' ) } :32` ,
60- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/Expectation.php' ) } :739` ,
61- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/ExpectationDirector.php' ) } :202` ,
62- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/Container.php' ) } :583` ,
63- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/Container.php' ) } :519` ,
64- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery.php' ) } :176` ,
65- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php' ) } :49` ,
66- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php' ) } :61` ,
67- ` ${ phpUnitProject ( 'vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditions.php' ) } :19` ,
58+ expect ( links ) . toEqual ( [
59+ [ 'vendor/mockery/mockery/library/Mockery/CountValidator/Exact.php' , 'L32' ] ,
60+ [ 'vendor/mockery/mockery/library/Mockery/Expectation.php' , 'L739' ] ,
61+ [ 'vendor/mockery/mockery/library/Mockery/ExpectationDirector.php' , 'L202' ] ,
62+ [ 'vendor/mockery/mockery/library/Mockery/Container.php' , 'L583' ] ,
63+ [ 'vendor/mockery/mockery/library/Mockery/Container.php' , 'L519' ] ,
64+ [ 'vendor/mockery/mockery/library/Mockery.php' , 'L176' ] ,
65+ [ 'vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php' , 'L49' ] ,
66+ [ 'vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegration.php' , 'L61' ] ,
67+ [ 'vendor/mockery/mockery/library/Mockery/Adapter/Phpunit/MockeryPHPUnitIntegrationAssertPostConditions.php' , 'L19' ] ,
6868 ] ) ;
6969 } ) ;
7070} ) ;
0 commit comments