mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 21:09:43 +00:00
config-editing, api-test use strictNull-checks, #6907
This commit is contained in:
parent
07464cb11d
commit
7b12aeb422
|
@ -44,12 +44,22 @@ function registerKeybindingsCompletions(): vscode.Disposable {
|
|||
});
|
||||
}
|
||||
|
||||
function updateLaunchJsonDecorations(editor: vscode.TextEditor) {
|
||||
function newCompletionItem(text: string, range: vscode.Range) {
|
||||
const item = new vscode.CompletionItem(JSON.stringify(text));
|
||||
item.kind = vscode.CompletionItemKind.Value;
|
||||
item.textEdit = {
|
||||
range,
|
||||
newText: item.label
|
||||
};
|
||||
return item;
|
||||
}
|
||||
|
||||
function updateLaunchJsonDecorations(editor: vscode.TextEditor | undefined) {
|
||||
if (!editor || path.basename(editor.document.fileName) !== 'launch.json') {
|
||||
return;
|
||||
}
|
||||
|
||||
const ranges = [];
|
||||
const ranges: vscode.Range[] = [];
|
||||
let addPropertyAndValue = false;
|
||||
visit(editor.document.getText(), {
|
||||
onObjectProperty: (property, offset, length) => {
|
||||
|
@ -68,13 +78,3 @@ function updateLaunchJsonDecorations(editor: vscode.TextEditor) {
|
|||
editor.setDecorations(decoration, ranges);
|
||||
}
|
||||
|
||||
function newCompletionItem(text: string, range: vscode.Range, documentation?: string) {
|
||||
const item = new vscode.CompletionItem(JSON.stringify(text));
|
||||
item.kind = vscode.CompletionItemKind.Value;
|
||||
item.documentation = documentation;
|
||||
item.textEdit = {
|
||||
range,
|
||||
newText: item.label
|
||||
};
|
||||
return item;
|
||||
}
|
||||
|
|
|
@ -3,9 +3,10 @@
|
|||
"noLib": true,
|
||||
"target": "es5",
|
||||
"module": "commonjs",
|
||||
"outDir": "./out"
|
||||
"outDir": "./out",
|
||||
"strictNullChecks": true
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,7 +83,7 @@ namespace ast {
|
|||
let end = Number.MAX_VALUE;
|
||||
|
||||
for (let name of dottedName.split('.')) {
|
||||
let idx: number;
|
||||
let idx: number = -1;
|
||||
while ((idx = identifiers.indexOf(name, idx + 1)) >= 0) {
|
||||
let myStart = spans[2 * idx];
|
||||
let myEnd = spans[2 * idx + 1];
|
||||
|
|
|
@ -62,7 +62,7 @@ export function cleanUp(): Thenable<any> {
|
|||
}
|
||||
});
|
||||
|
||||
vscode.commands.executeCommand('workbench.action.closeAllEditors').then(null, reject);
|
||||
vscode.commands.executeCommand('workbench.action.closeAllEditors').then(undefined, reject);
|
||||
|
||||
}).then(() => {
|
||||
assert.equal(vscode.window.visibleTextEditors.length, 0);
|
||||
|
@ -76,4 +76,4 @@ export function cleanUp(): Thenable<any> {
|
|||
|
||||
// assert.equal(vscode.workspace.textDocuments.length, 0);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ suite('window namespace tests', () => {
|
|||
return window.showTextDocument(doc).then((editor) => {
|
||||
const active = window.activeTextEditor;
|
||||
assert.ok(active);
|
||||
assert.ok(pathEquals(active.document.uri.fsPath, doc.uri.fsPath));
|
||||
assert.ok(pathEquals(active!.document.uri.fsPath, doc.uri.fsPath));
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
'use strict';
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { workspace, TextDocument, window, Position, Uri, EventEmitter, WorkspaceEdit } from 'vscode';
|
||||
import { workspace, TextDocument, window, Position, Uri, EventEmitter, WorkspaceEdit, Disposable } from 'vscode';
|
||||
import { createRandomFile, deleteFile, cleanUp, pathEquals } from './utils';
|
||||
import { join, basename } from 'path';
|
||||
import * as fs from 'fs';
|
||||
|
@ -48,11 +48,13 @@ suite('workspace-namespace', () => {
|
|||
|
||||
test('textDocuments', () => {
|
||||
assert.ok(Array.isArray(workspace.textDocuments));
|
||||
assert.throws(() => workspace.textDocuments = null);
|
||||
assert.throws(() => (<any>workspace).textDocuments = null);
|
||||
});
|
||||
|
||||
test('rootPath', () => {
|
||||
assert.ok(pathEquals(workspace.rootPath, join(__dirname, '../testWorkspace')));
|
||||
if (workspace.rootPath) {
|
||||
assert.ok(pathEquals(workspace.rootPath, join(__dirname, '../testWorkspace')));
|
||||
}
|
||||
assert.throws(() => workspace.rootPath = 'farboo');
|
||||
});
|
||||
|
||||
|
@ -64,23 +66,22 @@ suite('workspace-namespace', () => {
|
|||
});
|
||||
});
|
||||
|
||||
test('openTextDocument, illegal path', done => {
|
||||
workspace.openTextDocument('funkydonky.txt').then(doc => {
|
||||
done(new Error('missing error'));
|
||||
test('openTextDocument, illegal path', () => {
|
||||
return workspace.openTextDocument('funkydonky.txt').then(doc => {
|
||||
throw new Error('missing error');
|
||||
}, err => {
|
||||
done();
|
||||
// good!
|
||||
});
|
||||
});
|
||||
|
||||
test('openTextDocument, untitled is dirty', function (done) {
|
||||
test('openTextDocument, untitled is dirty', function () {
|
||||
if (process.platform === 'win32') {
|
||||
return done(); // TODO@Joh this test fails on windows
|
||||
return; // TODO@Joh this test fails on windows
|
||||
}
|
||||
|
||||
workspace.openTextDocument(Uri.parse('untitled:' + join(workspace.rootPath, './newfile.txt'))).then(doc => {
|
||||
return workspace.openTextDocument(Uri.parse('untitled:' + join(workspace.rootPath, './newfile.txt'))).then(doc => {
|
||||
assert.equal(doc.uri.scheme, 'untitled');
|
||||
assert.ok(doc.isDirty);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -137,7 +138,7 @@ suite('workspace-namespace', () => {
|
|||
|
||||
test('events: onDidOpenTextDocument, onDidChangeTextDocument, onDidSaveTextDocument', () => {
|
||||
return createRandomFile().then(file => {
|
||||
let disposables = [];
|
||||
let disposables: Disposable[] = [];
|
||||
|
||||
let onDidOpenTextDocument = false;
|
||||
disposables.push(workspace.onDidOpenTextDocument(e => {
|
||||
|
@ -370,7 +371,7 @@ suite('workspace-namespace', () => {
|
|||
});
|
||||
|
||||
test('findFiles', () => {
|
||||
return workspace.findFiles('*.js', null).then((res) => {
|
||||
return workspace.findFiles('*.js').then((res) => {
|
||||
assert.equal(res.length, 1);
|
||||
assert.equal(basename(workspace.asRelativePath(res[0])), 'far.js');
|
||||
});
|
||||
|
|
|
@ -4,9 +4,10 @@
|
|||
"target": "ES5",
|
||||
"outDir": "out",
|
||||
"noLib": true,
|
||||
"sourceMap": true
|
||||
"sourceMap": true,
|
||||
"strictNullChecks": true
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
declare function run(): void;
|
||||
|
||||
declare function suite(name: string, fn: (err?) => void);
|
||||
declare function test(name: string, fn: (done?: (err?) => void) => void);
|
||||
declare function test(name: string, fn: () => void);
|
||||
declare function test(name: string, fn: (done: (err?) => void) => void);
|
||||
declare function suiteSetup(fn: (done?: (err?) => void) => void);
|
||||
declare function suiteTeardown(fn: (done?: (err?) => void) => void);
|
||||
declare function setup(fn: (done?: (err?) => void) => void);
|
||||
|
|
3
src/typings/mocha.d.ts
vendored
3
src/typings/mocha.d.ts
vendored
|
@ -6,7 +6,8 @@
|
|||
declare function run(): void;
|
||||
|
||||
declare function suite(name: string, fn: (err?) => void);
|
||||
declare function test(name: string, fn: (done?: (err?) => void) => void);
|
||||
declare function test(name: string, fn: () => void);
|
||||
declare function test(name: string, fn: (done: (err?) => void) => void);
|
||||
declare function suiteSetup(fn: (done?: (err?) => void) => void);
|
||||
declare function suiteTeardown(fn: (done?: (err?) => void) => void);
|
||||
declare function setup(fn: (done?: (err?) => void) => void);
|
||||
|
|
Loading…
Reference in a new issue