mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 09:59:47 -05:00
* Fix initial build breaks from 1.67 merge (#2514) * Update yarn lock files * Update build scripts * Fix tsconfig * Build breaks * WIP * Update yarn lock files * Misc breaks * Updates to package.json * Breaks * Update yarn * Fix breaks * Breaks * Build breaks * Breaks * Breaks * Breaks * Breaks * Breaks * Missing file * Breaks * Breaks * Breaks * Breaks * Breaks * Fix several runtime breaks (#2515) * Missing files * Runtime breaks * Fix proxy ordering issue * Remove commented code * Fix breaks with opening query editor * Fix post merge break * Updates related to setup build and other breaks (#2516) * Fix bundle build issues * Update distro * Fix distro merge and update build JS files * Disable pipeline steps * Remove stats call * Update license name * Make new RPM dependencies a warning * Fix extension manager version checks * Update JS file * Fix a few runtime breaks * Fixes * Fix runtime issues * Fix build breaks * Update notebook tests (part 1) * Fix broken tests * Linting errors * Fix hygiene * Disable lint rules * Bump distro * Turn off smoke tests * Disable integration tests * Remove failing "activate" test * Remove failed test assertion * Disable other broken test * Disable query history tests * Disable extension unit tests * Disable failing tasks
63 lines
2.1 KiB
TypeScript
63 lines
2.1 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as assert from 'assert';
|
|
import * as vscode from 'vscode';
|
|
import { TestFS } from '../memfs';
|
|
import { assertNoRpc } from '../utils';
|
|
|
|
suite('vscode API - workspace-watcher', () => {
|
|
|
|
interface IWatchRequest {
|
|
uri: vscode.Uri;
|
|
options: { recursive: boolean; excludes: string[] };
|
|
}
|
|
|
|
class WatcherTestFs extends TestFS {
|
|
|
|
private _onDidWatch = new vscode.EventEmitter<IWatchRequest>();
|
|
readonly onDidWatch = this._onDidWatch.event;
|
|
|
|
override watch(uri: vscode.Uri, options: { recursive: boolean; excludes: string[] }): vscode.Disposable {
|
|
this._onDidWatch.fire({ uri, options });
|
|
|
|
return super.watch(uri, options);
|
|
}
|
|
}
|
|
|
|
teardown(assertNoRpc);
|
|
|
|
test('createFileSystemWatcher', async function () {
|
|
const fs = new WatcherTestFs('watcherTest', false);
|
|
vscode.workspace.registerFileSystemProvider('watcherTest', fs);
|
|
|
|
function onDidWatchPromise() {
|
|
const onDidWatchPromise = new Promise<IWatchRequest>(resolve => {
|
|
fs.onDidWatch(request => resolve(request));
|
|
});
|
|
|
|
return onDidWatchPromise;
|
|
}
|
|
|
|
// Non-recursive
|
|
let watchUri = vscode.Uri.from({ scheme: 'watcherTest', path: '/somePath/folder' });
|
|
const watcher = vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(watchUri, '*.txt'));
|
|
let request = await onDidWatchPromise();
|
|
|
|
assert.strictEqual(request.uri.toString(), watchUri.toString());
|
|
assert.strictEqual(request.options.recursive, false);
|
|
|
|
watcher.dispose();
|
|
|
|
// Recursive
|
|
watchUri = vscode.Uri.from({ scheme: 'watcherTest', path: '/somePath/folder' });
|
|
vscode.workspace.createFileSystemWatcher(new vscode.RelativePattern(watchUri, '**/*.txt'));
|
|
request = await onDidWatchPromise();
|
|
|
|
assert.strictEqual(request.uri.toString(), watchUri.toString());
|
|
assert.strictEqual(request.options.recursive, true);
|
|
});
|
|
});
|