mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-15 12:51:30 -05:00
Merge branch 'master' into layering
This commit is contained in:
@@ -217,6 +217,10 @@ module FourSlashInterface {
|
||||
FourSlash.currentTestState.verifyQuickInfoExists(this.negative);
|
||||
}
|
||||
|
||||
public definitionCountIs(expectedCount: number) {
|
||||
FourSlash.currentTestState.verifyDefinitionsCount(this.negative, expectedCount);
|
||||
}
|
||||
|
||||
public definitionLocationExists() {
|
||||
FourSlash.currentTestState.verifyDefinitionLocationExists(this.negative);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
// @Filename: b.ts
|
||||
////import n = require('unknown/*1*/');
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
/////*functionOverload1*/function /*functionOverload*/functionOverload();
|
||||
/////*functionOverload2*/function functionOverload(value: string);
|
||||
/////*functionOverloadDefinition*/function functionOverload() {}
|
||||
////
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
/////*functionOverload1*/function /*functionOverload*/functionOverload();
|
||||
/////*functionOverload2*/function functionOverload(value: string);
|
||||
/////*functionOverloadDefinition*/function functionOverload() {}
|
||||
////
|
||||
/////*functionOverloadReference1*/functionOverload();
|
||||
/////*functionOverloadReference2*/functionOverload("123");
|
||||
|
||||
goTo.marker('functionOverloadReference1');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('functionOverloadDefinition');
|
||||
|
||||
goTo.marker('functionOverloadReference2');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('functionOverloadDefinition');
|
||||
|
||||
goTo.marker('functionOverload');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('functionOverloadDefinition');
|
||||
goTo.marker('functionOverloadReference1');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('functionOverloadDefinition');
|
||||
|
||||
goTo.marker('functionOverloadReference2');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('functionOverloadDefinition');
|
||||
|
||||
goTo.marker('functionOverload');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('functionOverloadDefinition');
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////class clsInOverload {
|
||||
//// static fnOverload();
|
||||
//// static /*staticFunctionOverload*/fnOverload(foo: string);
|
||||
//// /*staticFunctionOverloadDefinition*/static fnOverload(foo: any) { }
|
||||
//// public /*functionOverload*/fnOverload(): any;
|
||||
//// public fnOverload(foo: string);
|
||||
//// /*functionOverloadDefinition*/public fnOverload(foo: any) { return "foo" }
|
||||
////
|
||||
//// constructor() { }
|
||||
////}
|
||||
|
||||
/// <reference path='fourslash.ts'/>
|
||||
|
||||
////class clsInOverload {
|
||||
//// static fnOverload();
|
||||
//// static /*staticFunctionOverload*/fnOverload(foo: string);
|
||||
//// /*staticFunctionOverloadDefinition*/static fnOverload(foo: any) { }
|
||||
//// public /*functionOverload*/fnOverload(): any;
|
||||
//// public fnOverload(foo: string);
|
||||
//// /*functionOverloadDefinition*/public fnOverload(foo: any) { return "foo" }
|
||||
////
|
||||
//// constructor() { }
|
||||
////}
|
||||
|
||||
// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed
|
||||
edit.insert('');
|
||||
|
||||
goTo.marker('staticFunctionOverload');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('staticFunctionOverloadDefinition');
|
||||
|
||||
goTo.marker('functionOverload');
|
||||
goTo.definition();
|
||||
edit.insert('');
|
||||
|
||||
goTo.marker('staticFunctionOverload');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('staticFunctionOverloadDefinition');
|
||||
|
||||
goTo.marker('functionOverload');
|
||||
goTo.definition();
|
||||
verify.caretAtMarker('functionOverloadDefinition');
|
||||
@@ -1,5 +1,5 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////interface One {
|
||||
//// /*propertyDefinition1*/commonProperty: number;
|
||||
//// commonFunction(): number;
|
||||
@@ -13,12 +13,14 @@
|
||||
////var x : One | Two;
|
||||
////
|
||||
////x./*propertyReference*/commonProperty;
|
||||
////x./*3*/commonFunction;
|
||||
|
||||
goTo.marker("propertyReference");
|
||||
goTo.definition(0);
|
||||
verify.caretAtMarker("propertyDefinition1");
|
||||
|
||||
goTo.marker("propertyReference");
|
||||
goTo.definition(1);
|
||||
verify.caretAtMarker("propertyDefinition2");
|
||||
////x./*3*/commonFunction;
|
||||
|
||||
|
||||
goTo.marker("propertyReference");
|
||||
verify.definitionCountIs(2);
|
||||
goTo.definition(0);
|
||||
verify.caretAtMarker("propertyDefinition1");
|
||||
|
||||
goTo.marker("propertyReference");
|
||||
goTo.definition(1);
|
||||
verify.caretAtMarker("propertyDefinition2");
|
||||
@@ -1,9 +1,9 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
////interface HasAOrB {
|
||||
//// /*propertyDefinition1*/a: string;
|
||||
//// b: string;
|
||||
////}
|
||||
////
|
||||
/// <reference path='fourslash.ts' />
|
||||
////interface HasAOrB {
|
||||
//// /*propertyDefinition1*/a: string;
|
||||
//// b: string;
|
||||
////}
|
||||
////
|
||||
////interface One {
|
||||
//// common: { /*propertyDefinition2*/a : number; };
|
||||
////}
|
||||
@@ -15,11 +15,12 @@
|
||||
////var x : One | Two;
|
||||
////
|
||||
////x.common./*propertyReference*/a;
|
||||
|
||||
goTo.marker("propertyReference");
|
||||
goTo.definition(0);
|
||||
verify.caretAtMarker("propertyDefinition2");
|
||||
|
||||
goTo.marker("propertyReference");
|
||||
goTo.definition(1);
|
||||
verify.caretAtMarker("propertyDefinition1");
|
||||
|
||||
goTo.marker("propertyReference");
|
||||
verify.definitionCountIs(2);
|
||||
goTo.definition(0);
|
||||
verify.caretAtMarker("propertyDefinition2");
|
||||
|
||||
goTo.marker("propertyReference");
|
||||
goTo.definition(1);
|
||||
verify.caretAtMarker("propertyDefinition1");
|
||||
|
||||
15
tests/cases/fourslash/goToDefinitionUnionTypeProperty3.ts
Normal file
15
tests/cases/fourslash/goToDefinitionUnionTypeProperty3.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////interface Array<T> {
|
||||
//// /*definition*/specialPop(): T
|
||||
////}
|
||||
////
|
||||
////var strings: string[];
|
||||
////var numbers: number[];
|
||||
////
|
||||
////var x = (strings || numbers)./*usage*/specialPop()
|
||||
|
||||
goTo.marker("usage");
|
||||
verify.definitionCountIs(1);
|
||||
goTo.definition();
|
||||
verify.caretAtMarker("definition");
|
||||
32
tests/cases/fourslash/goToDefinitionUnionTypeProperty4.ts
Normal file
32
tests/cases/fourslash/goToDefinitionUnionTypeProperty4.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
////interface SnapCrackle {
|
||||
//// /*def1*/pop(): string;
|
||||
////}
|
||||
////
|
||||
////interface Magnitude {
|
||||
//// /*def2*/pop(): number;
|
||||
////}
|
||||
////
|
||||
////interface Art {
|
||||
//// /*def3*/pop(): boolean;
|
||||
////}
|
||||
////
|
||||
////var art: Art;
|
||||
////var magnitude: Magnitude;
|
||||
////var snapcrackle: SnapCrackle;
|
||||
////
|
||||
////var x = (snapcrackle || magnitude || art)./*usage*/pop;
|
||||
|
||||
goTo.marker("usage");
|
||||
verify.definitionCountIs(3);
|
||||
goTo.definition(0);
|
||||
verify.caretAtMarker("def1");
|
||||
|
||||
goTo.marker("usage");
|
||||
goTo.definition(1);
|
||||
verify.caretAtMarker("def2");
|
||||
|
||||
goTo.marker("usage");
|
||||
goTo.definition(2);
|
||||
verify.caretAtMarker("def3");
|
||||
Reference in New Issue
Block a user