Fourslash server tests

This commit is contained in:
Sheetal Nandi 2019-06-06 10:23:13 -07:00
parent 018026ad52
commit edad317395
7 changed files with 24 additions and 17 deletions

View file

@ -395,8 +395,12 @@ namespace ts.server {
const locations: RenameLocation[] = []; const locations: RenameLocation[] = [];
for (const entry of body.locs) { for (const entry of body.locs) {
const fileName = entry.file; const fileName = entry.file;
for (const { start, end, ...prefixSuffixText } of entry.locs) { for (const { start, end, declarationStart, declarationEnd, ...prefixSuffixText } of entry.locs) {
locations.push({ textSpan: this.decodeSpan({ start, end }, fileName), fileName, ...prefixSuffixText }); const renameLocation: RenameLocation = { textSpan: this.decodeSpan({ start, end }, fileName), fileName, ...prefixSuffixText };
if (declarationStart !== undefined) {
renameLocation.declarationSpan = this.decodeSpan({ start: declarationStart, end: declarationEnd! }, fileName);
}
locations.push(renameLocation);
} }
} }

View file

@ -4,12 +4,12 @@
// @Filename: jsDocCallback.js // @Filename: jsDocCallback.js
//// ////
//// /** //// /**
//// * @callback [|FooCallback|] //// * [|@callback [|{| "declarationRangeIndex": 0 |}FooCallback|]
//// * @param {string} eventName - Rename should work //// * @param {string} eventName - Rename should work
//// */ //// |]*/
//// ////
//// /** @type {/*1*/[|FooCallback|]} */ //// /** @type {/*1*/[|FooCallback|]} */
//// var t; //// var t;
const ranges = test.ranges(); const [rDef, ...ranges] = test.ranges();
verify.renameLocations(ranges[0], { findInStrings: false, findInComments: true, ranges }); verify.renameLocations(ranges[0], { findInStrings: false, findInComments: true, ranges });

View file

@ -4,11 +4,12 @@
// @Filename: jsDocTypedef_form1.js // @Filename: jsDocTypedef_form1.js
//// ////
//// /** @typedef {(string | number)} */ //// /** @typedef {(string | number)} */
//// var [|NumberLike|]; //// [|var [|{| "declarationRangeIndex": 0 |}NumberLike|];|]
//// ////
//// [|NumberLike|] = 10; //// [|NumberLike|] = 10;
//// ////
//// /** @type {[|NumberLike|]} */ //// /** @type {[|NumberLike|]} */
//// var numberLike; //// var numberLike;
verify.rangesAreRenameLocations({ findInComments: true }); const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations({ findInComments: true, ranges });

View file

@ -3,9 +3,10 @@
// @allowNonTsExtensions: true // @allowNonTsExtensions: true
// @Filename: jsDocTypedef_form2.js // @Filename: jsDocTypedef_form2.js
//// ////
//// /** @typedef {(string | number)} [|NumberLike|] */ //// /** [|@typedef {(string | number)} [|{| "declarationRangeIndex": 0 |}NumberLike|]|] */
//// ////
//// /** @type {[|NumberLike|]} */ //// /** @type {[|NumberLike|]} */
//// var numberLike; //// var numberLike;
verify.rangesAreRenameLocations({ findInComments: true }); const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations({ findInComments: true, ranges });

View file

@ -4,14 +4,14 @@
// @Filename: jsDocTypedef_form3.js // @Filename: jsDocTypedef_form3.js
//// ////
//// /** //// /**
//// * @typedef /*1*/[|Person|] //// * [|@typedef /*1*/[|{| "declarationRangeIndex": 0 |}Person|]
//// * @type {Object} //// * @type {Object}
//// * @property {number} age //// * @property {number} age
//// * @property {string} name //// * @property {string} name
//// */ //// |]*/
//// ////
//// /** @type {/*2*/[|Person|]} */ //// /** @type {/*2*/[|Person|]} */
//// var person; //// var person;
goTo.file('jsDocTypedef_form3.js') goTo.file('jsDocTypedef_form3.js')
verify.rangesAreRenameLocations({ findInComments: true }); verify.rangesAreRenameLocations({ findInComments: true, ranges: test.rangesByText().get("Person") });

View file

@ -2,10 +2,10 @@
///////<reference path="./Bar.ts" /> ///////<reference path="./Bar.ts" />
////function [|Bar|]() { ////[|function [|{| "declarationRangeIndex": 0 |}Bar|]() {
//// // This is a reference to [|Bar|] in a comment. //// // This is a reference to [|Bar|] in a comment.
//// "this is a reference to [|Bar|] in a string" //// "this is a reference to [|Bar|] in a string"
////} ////}|]
const ranges = test.ranges(); const [rDef, ...ranges] = test.ranges();
verify.renameLocations(ranges[0], { findInStrings: true, findInComments: true, ranges }); verify.renameLocations(ranges[0], { findInStrings: true, findInComments: true, ranges });

View file

@ -1,7 +1,7 @@
/// <reference path="../fourslash.ts"/> /// <reference path="../fourslash.ts"/>
// @Filename: referencesForGlobals_1.ts // @Filename: referencesForGlobals_1.ts
////var [|globalName|] = 0; ////[|var [|{| "declarationRangeIndex": 0 |}globalName|] = 0;|]
// @Filename: referencesForGlobals_2.ts // @Filename: referencesForGlobals_2.ts
////var y = [|globalName|]; ////var y = [|globalName|];
@ -9,4 +9,5 @@
// @Filename: tsconfig.json // @Filename: tsconfig.json
////{ "files": ["referencesForGlobals_1.ts", "referencesForGlobals_2.ts"] } ////{ "files": ["referencesForGlobals_1.ts", "referencesForGlobals_2.ts"] }
verify.rangesAreRenameLocations({ findInStrings: true, findInComments: true }); const [rDef, ...ranges] = test.ranges();
verify.rangesAreRenameLocations({ findInStrings: true, findInComments: true, ranges });