Path: blob/main/extensions/copilot/src/extension/test/node/utils.fileTree.spec.ts
13399 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import * as assert from 'assert';6import { suite, test } from 'vitest';7import { fileTreePartToMarkdown } from '../../../util/common/fileTree';8import { URI } from '../../../util/vs/base/common/uri';9import { ChatResponseFileTreePart } from '../../../vscodeTypes';101112suite('fileTreeParsing', () => {13test('Simple File tree', () => {14const baseUri = URI.parse('file://foo/projectName',);15const fileTreePart: ChatResponseFileTreePart = {16baseUri: baseUri,17value: [18{19name: 'src',20children: [21{22name: 'file1.ts'23},24{25name: 'file2.ts'26},27]28},29{30name: 'package.json'31}32]33};3435const fileTreeMarkdown = fileTreePartToMarkdown(fileTreePart);36assert.equal(fileTreeMarkdown, '```filetree\nprojectName\n├── src\n| ├── file1.ts\n| └── file2.ts\n└── package.json\n```\n');37});3839test('File tree', () => {40const baseUri = URI.parse('file://foo/my-vscode-extension',);41const fileTreePart: ChatResponseFileTreePart = {42baseUri: baseUri,43value: [44{45name: '.vscode',46children: [47{48name: 'launch.json'49},50{51name: 'tasks.json'52},53]54},55{56name: 'src',57children: [58{59name: 'extensions.ts'60},61]62},63{64name: 'test',65children: [66{67name: 'extension.test.ts'68}69]70},71{72name: 'package.json'73},74{75name: 'tsconfig.json'76},77{78name: 'README.md'79}80]81};8283const fileTreeMarkdown = fileTreePartToMarkdown(fileTreePart);84assert.equal(fileTreeMarkdown, '```filetree\nmy-vscode-extension\n├── .vscode\n| ├── launch.json\n| └── tasks.json\n├── src\n| └── extensions.ts\n├── test\n| └── extension.test.ts\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n');85});86});878889