<commit_before>/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { Application, Terminal, SettingsEditor, TerminalCommandIdWithValue, TerminalCommandId } from '../../../../automation';
import { setTerminalTestSettings } from './terminal-helpers';

export function setup() {
	for (let i = 0; i < 100; i++) {
		describe(`Terminal Shell Integration ${i}`, () => {
			let terminal: Terminal;
			let settingsEditor: SettingsEditor;
			let app: Application;
			// Acquire automation API
			before(async function () {
				app = this.app as Application;
				terminal = app.workbench.terminal;
				settingsEditor = app.workbench.settingsEditor;
				await setTerminalTestSettings(app, [['terminal.integrated.shellIntegration.enabled', 'true']]);
			});

			afterEach(async function () {
				await app.workbench.terminal.runCommand(TerminalCommandId.KillAll);
			});

			after(async function () {
				await settingsEditor.clearUserSettings();
			});

			async function createShellIntegrationProfile() {
				await terminal.runCommandWithValue(TerminalCommandIdWithValue.NewWithProfile, process.platform === 'win32' ? 'PowerShell' : 'bash');
			}

			describe(`Shell integration ${i}`, function () {
				describe('Decorations', function () {
					describe('Should show default icons', function () {
<commit_msg>Disable windows shell integration tests only<commit_after>/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { Application, Terminal, SettingsEditor, TerminalCommandIdWithValue, TerminalCommandId } from '../../../../automation';
import { setTerminalTestSettings } from './terminal-helpers';

export function setup() {
	for (let i = 0; i < 100; i++) {
		describe(`Terminal Shell Integration ${i}`, () => {
			let terminal: Terminal;
			let settingsEditor: SettingsEditor;
			let app: Application;
			// Acquire automation API
			before(async function () {
				app = this.app as Application;
				terminal = app.workbench.terminal;
				settingsEditor = app.workbench.settingsEditor;
				await setTerminalTestSettings(app, [['terminal.integrated.shellIntegration.enabled', 'true']]);
			});

			afterEach(async function () {
				await app.workbench.terminal.runCommand(TerminalCommandId.KillAll);
			});

			after(async function () {
				await settingsEditor.clearUserSettings();
			});

			async function createShellIntegrationProfile() {
				await terminal.runCommandWithValue(TerminalCommandIdWithValue.NewWithProfile, process.platform === 'win32' ? 'PowerShell' : 'bash');
			}

			// TODO: Some agents may not have pwsh installed?
			(process.platform === 'win32' ? describe.skip : describe)(`Shell integration`, function () {
				describe('Decorations', function () {
					describe('Should show default icons', function () {

{'fraction_non_alphanumeric': 0.2236842105263158, 'fraction_numerical': 0.004186602870813397, 'mean_word_length': 2.5699039487726787, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3632598', 'n_tokens_mistral': 949, 'n_tokens_neox': 794, 'n_words': 219}