Skip to content

Commit 5d164cf

Browse files
committed
Add test for recursive symlinks
1 parent 43f9000 commit 5d164cf

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

Lines changed: 36 additions & 1 deletion
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

99
let settings: Settings = {
1010
tailwindCSS: {
@@ -321,6 +321,41 @@ testLocator({
321321
],
322322
})
323323

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

326361
function testLocator({

0 commit comments

Comments
 (0)