@@ -119,7 +119,7 @@ test("Workspace paths should be normalized to node_modules format", async (t) =>
119119 console . log ( `✓ All ${ packagePaths . length - 1 } package paths correctly normalized` ) ;
120120} ) ;
121121
122- test ( "Compare generated shrinkwrap with expected result" , async ( t ) => {
122+ test ( "Compare generated shrinkwrap with expected result: package.a " , async ( t ) => {
123123 // Setup mock to prevent actual npm registry requests
124124 const mockRestore = setupPacoteMock ( ) ;
125125 t . after ( ( ) => mockRestore ( ) ) ;
@@ -172,8 +172,7 @@ test("Compare generated shrinkwrap with expected result", async (t) => {
172172 "Generated shrinkwrap packages should match expected" ) ;
173173} ) ;
174174
175-
176- test ( "Compare generated shrinkwrap with expected result" , async ( t ) => {
175+ test ( "Compare generated shrinkwrap with expected result: package.b" , async ( t ) => {
177176 // Setup mock to prevent actual npm registry requests
178177 const mockRestore = setupPacoteMock ( ) ;
179178 t . after ( ( ) => mockRestore ( ) ) ;
@@ -204,6 +203,37 @@ test("Compare generated shrinkwrap with expected result", async (t) => {
204203 "Generated shrinkwrap packages should match expected" ) ;
205204} ) ;
206205
206+ test ( "Compare generated shrinkwrap with expected result: package.c" , async ( t ) => {
207+ // Setup mock to prevent actual npm registry requests
208+ const mockRestore = setupPacoteMock ( ) ;
209+ t . after ( ( ) => mockRestore ( ) ) ;
210+
211+ const __dirname = import . meta. dirname ;
212+ const generatedShrinkwrapPath = path . join ( __dirname , ".." , "tmp" , "package.c" , "npm-shrinkwrap.generated.json" ) ;
213+ // Clean any existing generated file
214+ await mkdir ( path . dirname ( generatedShrinkwrapPath ) , { recursive : true } ) ;
215+ await unlink ( generatedShrinkwrapPath ) . catch ( ( ) => { } ) ;
216+
217+ // Generate shrinkwrap from fixture
218+ const cwd = path . join ( __dirname , ".." , "fixture" , "project.c" ) ;
219+ const symlinkPath = await setupFixtureSymlink ( cwd ) ;
220+ t . after ( async ( ) => await unlink ( symlinkPath ) . catch ( ( ) => { } ) ) ;
221+
222+ const targetPackageName = "@ui5/target" ;
223+
224+ const generatedShrinkwrap = await convertPackageLockToShrinkwrap ( cwd , targetPackageName ) ;
225+
226+ // Load expected shrinkwrap
227+ const expectedShrinkwrapPath = path . join ( __dirname , ".." , "expected" , "package.c" , "npm-shrinkwrap.json" ) ;
228+ const expectedShrinkwrap = await readJson ( expectedShrinkwrapPath ) ;
229+
230+ // Write generated shrinkwrap to tmp dir for debugging purposes
231+ await writeFile ( generatedShrinkwrapPath , JSON . stringify ( generatedShrinkwrap , null , "\t" ) , "utf-8" ) ;
232+
233+ assert . deepEqual ( generatedShrinkwrap . packages , expectedShrinkwrap . packages ,
234+ "Generated shrinkwrap packages should match expected" ) ;
235+ } ) ;
236+
207237// Error handling tests
208238test ( "Error handling - invalid target package name" , async ( t ) => {
209239 const __dirname = import . meta. dirname ;
0 commit comments