Skip to content

Commit 45ca282

Browse files
committed
Add test for recursive symlinks
1 parent d71e2b0 commit 45ca282

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

packages/tailwindcss-language-server/src/project-locator.test.ts

+36-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { ProjectLocator } from './project-locator'
44
import { URL, fileURLToPath } from 'url'
55
import { Settings } from '@tailwindcss/language-service/src/util/state'
66
import { createResolver } from './resolver'
7-
import { css, defineTest, js, json, scss, Storage, TestUtils } from './testing'
7+
import { css, defineTest, js, json, scss, Storage, symlinkTo, TestUtils } from './testing'
88
import { normalizePath } from './utils'
99

1010
let settings: Settings = {
@@ -317,6 +317,41 @@ testLocator({
317317
],
318318
})
319319

320+
testLocator({
321+
// options: { skip: true },
322+
name: 'Recursive symlinks do not cause infinite traversal loops',
323+
fs: {
324+
'src/a/b/c/index.css': css`
325+
@import 'tailwindcss';
326+
`,
327+
'src/a/b/c/z': symlinkTo('src'),
328+
'src/a/b/x': symlinkTo('src'),
329+
'src/a/b/y': symlinkTo('src'),
330+
'src/a/b/z': symlinkTo('src'),
331+
'src/a/x': symlinkTo('src'),
332+
333+
'src/b/c/d/z': symlinkTo('src'),
334+
'src/b/c/d/index.css': css``,
335+
'src/b/c/x': symlinkTo('src'),
336+
'src/b/c/y': symlinkTo('src'),
337+
'src/b/c/z': symlinkTo('src'),
338+
'src/b/x': symlinkTo('src'),
339+
340+
'src/c/d/e/z': symlinkTo('src'),
341+
'src/c/d/x': symlinkTo('src'),
342+
'src/c/d/y': symlinkTo('src'),
343+
'src/c/d/z': symlinkTo('src'),
344+
'src/c/x': symlinkTo('src'),
345+
},
346+
expected: [
347+
{
348+
version: '4.0.6 (bundled)',
349+
config: '/src/a/b/c/index.css',
350+
content: [],
351+
},
352+
],
353+
})
354+
320355
// ---
321356

322357
function testLocator({

0 commit comments

Comments
 (0)