mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-06 09:35:41 -05:00
Enable strictNullChecks for extensions by default (#19197)
* Strict null on extensions * fix test * Fail on no stdin
This commit is contained in:
@@ -8,6 +8,6 @@ import * as vscode from 'vscode';
|
||||
|
||||
describe('Extension activate test', () => {
|
||||
it('Extension should activate correctly', async function (): Promise<void> {
|
||||
await vscode.extensions.getExtension('Microsoft.admin-tool-ext-win').activate();
|
||||
await vscode.extensions.getExtension('Microsoft.admin-tool-ext-win')!.activate();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -11,7 +11,7 @@ import * as vscode from 'vscode';
|
||||
*/
|
||||
export class ExtHostObjectExplorerNodeStub implements azdata.objectexplorer.ObjectExplorerNode {
|
||||
// Stub properties
|
||||
private parent: azdata.objectexplorer.ObjectExplorerNode;
|
||||
private parent: azdata.objectexplorer.ObjectExplorerNode | undefined;
|
||||
|
||||
// Base properties
|
||||
public connectionId: string;
|
||||
@@ -24,10 +24,10 @@ export class ExtHostObjectExplorerNodeStub implements azdata.objectexplorer.Obje
|
||||
public metadata: azdata.ObjectMetadata;
|
||||
public errorMessage: string;
|
||||
|
||||
constructor(nodeName: string, nodeSchema: string, nodeType: string, parent: azdata.objectexplorer.ObjectExplorerNode) {
|
||||
constructor(nodeName: string, nodeSchema: string, nodeType: string, parent?: azdata.objectexplorer.ObjectExplorerNode) {
|
||||
this.parent = parent;
|
||||
this.nodeType = nodeType;
|
||||
this.metadata = { metadataType: undefined, metadataTypeName: undefined, name: nodeName, schema: nodeSchema, urn: undefined, parentName: undefined, parentTypeName: undefined };
|
||||
this.metadata = { metadataType: azdata.MetadataType.Table, metadataTypeName: 'MyMetadataTypeName', name: nodeName, schema: nodeSchema, urn: 'urn', parentName: undefined, parentTypeName: undefined };
|
||||
}
|
||||
|
||||
isExpanded(): Thenable<boolean> {
|
||||
@@ -38,7 +38,7 @@ export class ExtHostObjectExplorerNodeStub implements azdata.objectexplorer.Obje
|
||||
throw new Error('Method not implemented');
|
||||
}
|
||||
|
||||
setSelected(selected: boolean, clearOtherSelections: boolean = undefined): Thenable<void> {
|
||||
setSelected(selected: boolean, clearOtherSelections: boolean): Thenable<void> {
|
||||
throw new Error('Method not implemented');
|
||||
}
|
||||
|
||||
|
||||
@@ -77,14 +77,14 @@ describe('buildUrn Method Tests', () => {
|
||||
|
||||
it('Urn should be correct with Server and only Databases folder', async function (): Promise<void> {
|
||||
const leafNode: ExtHostObjectExplorerNodeStub =
|
||||
new ExtHostObjectExplorerNodeStub('MyServer', undefined, 'Server', undefined)
|
||||
.createChild('Databases', undefined, 'Folder');
|
||||
new ExtHostObjectExplorerNodeStub('MyServer', 'MySchema', 'Server', undefined)
|
||||
.createChild('Databases', '', 'Folder');
|
||||
should(await buildUrn(leafNode)).equal('Server');
|
||||
});
|
||||
|
||||
it('Urn should be correct with Server and Database node', async function (): Promise<void> {
|
||||
const leafNode: ExtHostObjectExplorerNodeStub =
|
||||
new ExtHostObjectExplorerNodeStub('Databases', undefined, 'Folder', undefined)
|
||||
new ExtHostObjectExplorerNodeStub('Databases', 'MySchema', 'Folder', undefined)
|
||||
.createChild(dbName, dbSchema, 'Database');
|
||||
should(await buildUrn(leafNode)).equal(
|
||||
`Server/Database[@Name='${escapedDbName}' and @Schema='${escapedDbSchema}']`);
|
||||
@@ -92,9 +92,9 @@ describe('buildUrn Method Tests', () => {
|
||||
|
||||
it('Urn should be correct with Multiple levels of Nodes', async function (): Promise<void> {
|
||||
const rootNode: ExtHostObjectExplorerNodeStub =
|
||||
new ExtHostObjectExplorerNodeStub('Databases', undefined, 'Folder', undefined)
|
||||
new ExtHostObjectExplorerNodeStub('Databases', 'MySchema', 'Folder', undefined)
|
||||
.createChild(dbName, dbSchema, 'Database')
|
||||
.createChild('Tables', undefined, 'Folder')
|
||||
.createChild('Tables', 'MySchema', 'Folder')
|
||||
.createChild(tableName, tableSchema, 'Table');
|
||||
should(await buildUrn(rootNode)).equal(
|
||||
`Server/Database[@Name='${escapedDbName}' and @Schema='${escapedDbSchema}']/Table[@Name='${escapedTableName}' and @Schema='${escapedTableSchema}']`);
|
||||
@@ -102,10 +102,10 @@ describe('buildUrn Method Tests', () => {
|
||||
|
||||
it('Urn should be correct with Multiple levels of Nodes without schemas', async function (): Promise<void> {
|
||||
const rootNode: ExtHostObjectExplorerNodeStub =
|
||||
new ExtHostObjectExplorerNodeStub('Databases', undefined, 'Folder', undefined)
|
||||
.createChild(dbName, undefined, 'Database')
|
||||
.createChild('Tables', undefined, 'Folder')
|
||||
.createChild(tableName, undefined, 'Table');
|
||||
new ExtHostObjectExplorerNodeStub('Databases', '', 'Folder', undefined)
|
||||
.createChild(dbName, '', 'Database')
|
||||
.createChild('Tables', '', 'Folder')
|
||||
.createChild(tableName, '', 'Table');
|
||||
should(await buildUrn(rootNode)).equal(
|
||||
`Server/Database[@Name='${escapedDbName}']/Table[@Name='${escapedTableName}']`);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user