Path: blob/main/extensions/copilot/src/extension/onboardDebug/test/node/parseLaunchConfigFromResponse.spec.ts
13405 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 { expect, suite, test } from 'vitest';6import { parseLaunchConfigFromResponse } from '../../node/parseLaunchConfigFromResponse';78const input = `\`\`\`json9{10"configurations": [11{12"type": "lldb",13"request": "launch",14"name": "Cargo Run",15"program": "\${workspaceFolder}/target/debug/\${workspaceFolderBasename}",16"preLaunchTask": "cargo build"17}18],19"inputs": [20{21"type": "promptString",22"id": "executableName",23"description": "Name of your executable"24}25]26}27\`\`\`28It looks like you build your project using Cargo, so let's add a \`tasks.json\` to do that before each debug session:29\`\`\`json30{31"tasks": [32{33"type": "shell",34"label": "cargo build",35"command": "cargo",36"args": [37"build"38]39}40]41}42\`\`\`43`;4445suite('parseLaunchConfigFromResponse', () => {46test('works', () => {47expect(parseLaunchConfigFromResponse(input, {48allAcrossExtensionHosts: [],49} as any)).toMatchInlineSnapshot(`50{51"configurations": [52{53"name": "Cargo Run",54"preLaunchTask": "cargo build",55"program": "\${workspaceFolder}/target/debug/\${workspaceFolderBasename}",56"request": "launch",57"type": "lldb",58},59],60"inputs": [61{62"description": "Name of your executable",63"id": "executableName",64"type": "promptString",65},66],67"tasks": [68{69"args": [70"build",71],72"command": "cargo",73"label": "cargo build",74"type": "shell",75},76],77}78`);79});80});818283