85 lines
1.9 KiB
JavaScript
85 lines
1.9 KiB
JavaScript
|
import { expect, test } from 'vitest'
|
||
|
import { withFixture } from '../common'
|
||
|
|
||
|
withFixture('dependencies', (c) => {
|
||
|
async function completion({
|
||
|
lang,
|
||
|
text,
|
||
|
position,
|
||
|
context = {
|
||
|
triggerKind: 1,
|
||
|
},
|
||
|
settings,
|
||
|
}) {
|
||
|
let textDocument = await c.openDocument({ text, lang, settings })
|
||
|
|
||
|
return c.sendRequest('textDocument/completion', {
|
||
|
textDocument,
|
||
|
position,
|
||
|
context,
|
||
|
})
|
||
|
}
|
||
|
|
||
|
test.concurrent('@config', async () => {
|
||
|
let result = await completion({
|
||
|
text: '@config "',
|
||
|
lang: 'css',
|
||
|
position: {
|
||
|
line: 0,
|
||
|
character: 9,
|
||
|
},
|
||
|
})
|
||
|
|
||
|
expect(result).toEqual({
|
||
|
isIncomplete: false,
|
||
|
items: [
|
||
|
{
|
||
|
label: 'sub-dir/',
|
||
|
kind: 19,
|
||
|
command: { command: 'editor.action.triggerSuggest', title: '' },
|
||
|
data: expect.anything(),
|
||
|
textEdit: {
|
||
|
newText: 'sub-dir/',
|
||
|
range: { start: { line: 0, character: 9 }, end: { line: 0, character: 9 } },
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
label: 'tailwind.config.js',
|
||
|
kind: 17,
|
||
|
data: expect.anything(),
|
||
|
textEdit: {
|
||
|
newText: 'tailwind.config.js',
|
||
|
range: { start: { line: 0, character: 9 }, end: { line: 0, character: 9 } },
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
})
|
||
|
})
|
||
|
|
||
|
test.concurrent('@config directory', async () => {
|
||
|
let result = await completion({
|
||
|
text: '@config "./sub-dir/',
|
||
|
lang: 'css',
|
||
|
position: {
|
||
|
line: 0,
|
||
|
character: 19,
|
||
|
},
|
||
|
})
|
||
|
|
||
|
expect(result).toEqual({
|
||
|
isIncomplete: false,
|
||
|
items: [
|
||
|
{
|
||
|
label: 'colors.js',
|
||
|
kind: 17,
|
||
|
data: expect.anything(),
|
||
|
textEdit: {
|
||
|
newText: 'colors.js',
|
||
|
range: { start: { line: 0, character: 19 }, end: { line: 0, character: 19 } },
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
})
|
||
|
})
|
||
|
})
|