From b1cf1fd15101d61d795decfca87b3e9cf527cfdf Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 5 Feb 2025 05:23:14 -0800 Subject: [PATCH] rmdir and touch fig spec tests --- .../src/terminalSuggestMain.ts | 5 --- .../test/completions/upstream/rmdir.test.ts | 29 +++++++++++++++ .../test/completions/upstream/touch.test.ts | 36 +++++++++++++++++++ .../src/test/terminalSuggestMain.test.ts | 4 +++ 4 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 extensions/terminal-suggest/src/test/completions/upstream/rmdir.test.ts create mode 100644 extensions/terminal-suggest/src/test/completions/upstream/touch.test.ts diff --git a/extensions/terminal-suggest/src/terminalSuggestMain.ts b/extensions/terminal-suggest/src/terminalSuggestMain.ts index fa79d5c378a..685ed841005 100644 --- a/extensions/terminal-suggest/src/terminalSuggestMain.ts +++ b/extensions/terminal-suggest/src/terminalSuggestMain.ts @@ -421,11 +421,6 @@ function getCompletionItemsFromArgs(args: Fig.SingleOrArray | undefined if (Array.isArray(arg.template) ? arg.template.includes('folders') : arg.template === 'folders') { foldersRequested = true; } - // if (arg.template === 'filepaths') { - // filesRequested = true; - // } else if (arg.template === 'folders') { - // foldersRequested = true; - // } } if (arg.suggestions?.length) { // there are specific suggestions to show diff --git a/extensions/terminal-suggest/src/test/completions/upstream/rmdir.test.ts b/extensions/terminal-suggest/src/test/completions/upstream/rmdir.test.ts new file mode 100644 index 00000000000..e77092edb68 --- /dev/null +++ b/extensions/terminal-suggest/src/test/completions/upstream/rmdir.test.ts @@ -0,0 +1,29 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import 'mocha'; +import { testPaths, type ISuiteSpec } from '../../helpers'; +import rmdirSpec from '../../../completions/upstream/rmdir'; + +const allOptions = [ + '-p', +]; + +export const rmdirTestSuiteSpec: ISuiteSpec = { + name: 'rmdir', + completionSpecs: rmdirSpec, + availableCommands: 'rmdir', + testSpecs: [ + // Empty input + { input: '|', expectedCompletions: ['rmdir'], expectedResourceRequests: { type: 'both', cwd: testPaths.cwd } }, + + // Typing the command + { input: 'r|', expectedCompletions: ['rmdir'], expectedResourceRequests: { type: 'both', cwd: testPaths.cwd } }, + { input: 'rmdir|', expectedCompletions: ['rmdir'], expectedResourceRequests: { type: 'both', cwd: testPaths.cwd } }, + + // Basic options + { input: 'rmdir |', expectedCompletions: allOptions, expectedResourceRequests: { type: 'folders', cwd: testPaths.cwd } }, + ] +}; diff --git a/extensions/terminal-suggest/src/test/completions/upstream/touch.test.ts b/extensions/terminal-suggest/src/test/completions/upstream/touch.test.ts new file mode 100644 index 00000000000..da70835a593 --- /dev/null +++ b/extensions/terminal-suggest/src/test/completions/upstream/touch.test.ts @@ -0,0 +1,36 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +import 'mocha'; +import { testPaths, type ISuiteSpec } from '../../helpers'; +import touchSpec from '../../../completions/upstream/touch'; + +const allOptions = [ + '-A', + '-a', + '-c', + '-f', + '-h', + '-m', + '-r', + '-t', +]; + +export const touchTestSuiteSpec: ISuiteSpec = { + name: 'touch', + completionSpecs: touchSpec, + availableCommands: 'touch', + testSpecs: [ + // Empty input + { input: '|', expectedCompletions: ['touch'], expectedResourceRequests: { type: 'both', cwd: testPaths.cwd } }, + + // Typing the command + { input: 't|', expectedCompletions: ['touch'], expectedResourceRequests: { type: 'both', cwd: testPaths.cwd } }, + { input: 'touch|', expectedCompletions: ['touch'], expectedResourceRequests: { type: 'both', cwd: testPaths.cwd } }, + + // Basic options + { input: 'touch |', expectedCompletions: allOptions, expectedResourceRequests: { type: 'folders', cwd: testPaths.cwd } }, + ] +}; diff --git a/extensions/terminal-suggest/src/test/terminalSuggestMain.test.ts b/extensions/terminal-suggest/src/test/terminalSuggestMain.test.ts index 0cdf23b70d9..eca864c9727 100644 --- a/extensions/terminal-suggest/src/test/terminalSuggestMain.test.ts +++ b/extensions/terminal-suggest/src/test/terminalSuggestMain.test.ts @@ -16,6 +16,8 @@ import { lsTestSuiteSpec } from './completions/upstream/ls.test'; import { echoTestSuiteSpec } from './completions/upstream/echo.test'; import { mkdirTestSuiteSpec } from './completions/upstream/mkdir.test'; import { rmTestSuiteSpec } from './completions/upstream/rm.test'; +import { rmdirTestSuiteSpec } from './completions/upstream/rmdir.test'; +import { touchTestSuiteSpec } from './completions/upstream/touch.test'; const testSpecs2: ISuiteSpec[] = [ { @@ -40,6 +42,8 @@ const testSpecs2: ISuiteSpec[] = [ lsTestSuiteSpec, mkdirTestSuiteSpec, rmTestSuiteSpec, + rmdirTestSuiteSpec, + touchTestSuiteSpec, ]; suite('Terminal Suggest', () => {