Use rooted paths in the fourslash virtual file system

This commit is contained in:
Richard Knoll 2016-08-16 14:55:19 -07:00
parent cc35bd5dca
commit 2f4a855ab8
34 changed files with 81 additions and 80 deletions

View file

@ -19892,7 +19892,7 @@ namespace ts {
function getAmbientModules(): Symbol[] {
const result: Symbol[] = [];
for (const sym in globals) {
if (globals.hasOwnProperty(sym) && ambientModuleSymbolRegex.test(sym)) {
if (hasProperty(globals, sym) && ambientModuleSymbolRegex.test(sym)) {
result.push(globals[sym]);
}
}

View file

@ -2352,12 +2352,16 @@ namespace FourSlash {
}
export function runFourSlashTestContent(basePath: string, testType: FourSlashTestType, content: string, fileName: string): void {
// Give file paths an absolute path for the virtual file system
const absoluteBasePath = ts.combinePaths(Harness.virtualFileSystemRoot, basePath);
const absoluteFileName = ts.combinePaths(Harness.virtualFileSystemRoot, fileName);
// Parse out the files and their metadata
const testData = parseTestData(basePath, content, fileName);
const state = new TestState(basePath, testType, testData);
const testData = parseTestData(absoluteBasePath, content, absoluteFileName);
const state = new TestState(absoluteBasePath, testType, testData);
const output = ts.transpileModule(content, { reportDiagnostics: true });
if (output.diagnostics.length > 0) {
throw new Error(`Syntax error in ${basePath}: ${output.diagnostics[0].messageText}`);
throw new Error(`Syntax error in ${absoluteBasePath}: ${output.diagnostics[0].messageText}`);
}
runCode(output.outputText, state);
}

View file

@ -458,6 +458,9 @@ namespace Harness {
// harness always uses one kind of new line
const harnessNewLine = "\r\n";
// Roote for file paths that are stored in a virtual file system
export const virtualFileSystemRoot = "/";
namespace IOImpl {
declare class Enumerator {
public atEnd(): boolean;

View file

@ -123,7 +123,7 @@ namespace Harness.LanguageService {
}
export class LanguageServiceAdapterHost {
protected virtualFileSystem: Utils.VirtualFileSystem<ScriptInfo> = new Utils.VirtualFileSystem<ScriptInfo>(/*root*/"c:", /*useCaseSensitiveFilenames*/false);
protected virtualFileSystem: Utils.VirtualFileSystem<ScriptInfo> = new Utils.VirtualFileSystem<ScriptInfo>(virtualFileSystemRoot, /*useCaseSensitiveFilenames*/false);
constructor(protected cancellationToken = DefaultHostCancellationToken.Instance,
protected settings = ts.getDefaultCompilerOptions()) {
@ -191,7 +191,7 @@ namespace Harness.LanguageService {
}
return [];
}
getCurrentDirectory(): string { return ""; }
getCurrentDirectory(): string { return virtualFileSystemRoot }
getDefaultLibFileName(): string { return Harness.Compiler.defaultLibFileName; }
getScriptFileNames(): string[] { return this.getFilenames(); }
getScriptSnapshot(fileName: string): ts.IScriptSnapshot {
@ -211,7 +211,7 @@ namespace Harness.LanguageService {
readDirectory(path: string, extensions?: string[], exclude?: string[], include?: string[]): string[] {
return ts.matchFiles(path, extensions, exclude, include,
/*useCaseSensitiveFileNames*/false,
/*currentDirectory*/"/",
this.getCurrentDirectory(),
(p) => this.virtualFileSystem.getAccessibleFileSystemEntries(p));
}
readFile(path: string, encoding?: string): string {
@ -220,19 +220,7 @@ namespace Harness.LanguageService {
}
resolvePath(path: string): string {
if (!ts.isRootedDiskPath(path)) {
// An "absolute" path for fourslash is one that is contained within the tests directory
const components = ts.getNormalizedPathComponents(path, this.getCurrentDirectory());
if (components.length) {
// If this is still a relative path after normalization (i.e. currentDirectory is relative), the root will be the empty string
if (!components[0]) {
components.splice(0, 1);
if (components[0] !== "tests") {
// If not contained within test, assume its relative to the directory containing the test files
return ts.normalizePath(ts.combinePaths("tests/cases/fourslash", components.join(ts.directorySeparator)));
}
}
return ts.normalizePath(components.join(ts.directorySeparator));
}
path = ts.combinePaths(this.getCurrentDirectory(), path);
}
return ts.normalizePath(path);
}

View file

@ -111,6 +111,7 @@ namespace Utils {
getFileSystemEntries() { return this.root.getFileSystemEntries(); }
addDirectory(path: string) {
path = this.normalizePathRoot(path);
const components = ts.getNormalizedPathComponents(path, this.currentDirectory);
let directory: VirtualDirectory<T> = this.root;
for (const component of components) {
@ -124,7 +125,7 @@ namespace Utils {
}
addFile(path: string, content?: T) {
const absolutePath = ts.getNormalizedAbsolutePath(path, this.currentDirectory);
const absolutePath = this.normalizePathRoot(ts.getNormalizedAbsolutePath(path, this.currentDirectory));
const fileName = ts.getBaseFileName(path);
const directoryPath = ts.getDirectoryPath(absolutePath);
const directory = this.addDirectory(directoryPath);
@ -141,6 +142,7 @@ namespace Utils {
}
traversePath(path: string) {
path = this.normalizePathRoot(path);
let directory: VirtualDirectory<T> = this.root;
for (const component of ts.getNormalizedPathComponents(path, this.currentDirectory)) {
const entry = directory.getFileSystemEntry(component);
@ -192,7 +194,13 @@ namespace Utils {
}
}
normalizePathRoot(path: string) {
const components = ts.getNormalizedPathComponents(path, this.currentDirectory);
// Toss the root component
components[0] = "";
return components.join(ts.directorySeparator);
}
}
export class MockParseConfigHost extends VirtualFileSystem<string> implements ts.ParseConfigHost {

View file

@ -3154,9 +3154,7 @@ namespace ts {
writeFile: (fileName, data, writeByteOrderMark) => { },
getCurrentDirectory: () => currentDirectory,
fileExists: (fileName): boolean => {
// stub missing host functionality
Debug.assert(!host.resolveModuleNames || !host.resolveTypeReferenceDirectives);
return hostCache.getOrCreateEntry(fileName) !== undefined;
return host.fileExists(fileName);
},
readFile: (fileName): string => {
// stub missing host functionality

View file

@ -1,8 +1,8 @@
EmitSkipped: true
Diagnostics:
Cannot write file 'tests/cases/fourslash/b.js' because it would overwrite input file.
Cannot write file '/tests/cases/fourslash/b.js' because it would overwrite input file.
EmitSkipped: false
FileName : tests/cases/fourslash/a.js
FileName : /tests/cases/fourslash/a.js
function foo2() { return 30; } // no error - should emit a.js

View file

@ -1,12 +1,12 @@
EmitSkipped: false
FileName : tests/cases/fourslash/shims-pp/inputFile1.js
FileName : /tests/cases/fourslash/shims-pp/inputFile1.js
var x = 5;
var Bar = (function () {
function Bar() {
}
return Bar;
}());
FileName : tests/cases/fourslash/shims-pp/inputFile1.d.ts
FileName : /tests/cases/fourslash/shims-pp/inputFile1.d.ts
declare var x: number;
declare class Bar {
x: string;
@ -14,14 +14,14 @@ declare class Bar {
}
EmitSkipped: false
FileName : tests/cases/fourslash/shims-pp/inputFile2.js
FileName : /tests/cases/fourslash/shims-pp/inputFile2.js
var x1 = "hello world";
var Foo = (function () {
function Foo() {
}
return Foo;
}());
FileName : tests/cases/fourslash/shims-pp/inputFile2.d.ts
FileName : /tests/cases/fourslash/shims-pp/inputFile2.d.ts
declare var x1: string;
declare class Foo {
x: string;

View file

@ -1,12 +1,12 @@
EmitSkipped: false
FileName : tests/cases/fourslash/shims/inputFile1.js
FileName : /tests/cases/fourslash/shims/inputFile1.js
var x = 5;
var Bar = (function () {
function Bar() {
}
return Bar;
}());
FileName : tests/cases/fourslash/shims/inputFile1.d.ts
FileName : /tests/cases/fourslash/shims/inputFile1.d.ts
declare var x: number;
declare class Bar {
x: string;
@ -14,14 +14,14 @@ declare class Bar {
}
EmitSkipped: false
FileName : tests/cases/fourslash/shims/inputFile2.js
FileName : /tests/cases/fourslash/shims/inputFile2.js
var x1 = "hello world";
var Foo = (function () {
function Foo() {
}
return Foo;
}());
FileName : tests/cases/fourslash/shims/inputFile2.d.ts
FileName : /tests/cases/fourslash/shims/inputFile2.d.ts
declare var x1: string;
declare class Foo {
x: string;

View file

@ -1,12 +1,12 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile1.js
FileName : /tests/cases/fourslash/inputFile1.js
var x = 5;
var Bar = (function () {
function Bar() {
}
return Bar;
}());
FileName : tests/cases/fourslash/inputFile1.d.ts
FileName : /tests/cases/fourslash/inputFile1.d.ts
declare var x: number;
declare class Bar {
x: string;
@ -14,14 +14,14 @@ declare class Bar {
}
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile2.js
FileName : /tests/cases/fourslash/inputFile2.js
var x1 = "hello world";
var Foo = (function () {
function Foo() {
}
return Foo;
}());
FileName : tests/cases/fourslash/inputFile2.d.ts
FileName : /tests/cases/fourslash/inputFile2.d.ts
declare var x1: string;
declare class Foo {
x: string;

View file

@ -1,5 +1,5 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile.js
FileName : /tests/cases/fourslash/inputFile.js
var x;
var M = (function () {
function M() {

View file

@ -1,5 +1,5 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile2.js
FileName : /tests/cases/fourslash/inputFile2.js
var x;
var Foo = (function () {
function Foo() {

View file

@ -1,6 +1,6 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile.js.map
{"version":3,"file":"inputFile.js","sourceRoot":"","sources":["inputFile.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile.js
FileName : /tests/cases/fourslash/inputFile.js.map
{"version":3,"file":"inputFile.js","sourceRoot":"","sources":["inputFile.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile.js
var x = 109;
var foo = "hello world";
var M = (function () {

View file

@ -1,6 +1,6 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile.js.map
{"version":3,"file":"inputFile.js","sourceRoot":"sourceRootDir/","sources":["inputFile.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile.js
FileName : /tests/cases/fourslash/inputFile.js.map
{"version":3,"file":"inputFile.js","sourceRoot":"sourceRootDir/","sources":["inputFile.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile.js
var x = 109;
var foo = "hello world";
var M = (function () {

View file

@ -1,6 +1,6 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile1.js.map
{"version":3,"file":"inputFile1.js","sourceRoot":"sourceRootDir/","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile1.js
FileName : /tests/cases/fourslash/inputFile1.js.map
{"version":3,"file":"inputFile1.js","sourceRoot":"sourceRootDir/","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,GAAG,CAAC;AACZ,IAAI,GAAG,GAAG,aAAa,CAAC;AACxB;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile1.js
var x = 109;
var foo = "hello world";
var M = (function () {
@ -10,8 +10,8 @@ var M = (function () {
}());
//# sourceMappingURL=inputFile1.js.map
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile2.js.map
{"version":3,"file":"inputFile2.js","sourceRoot":"sourceRootDir/","sources":["inputFile2.ts"],"names":[],"mappings":"AAAA,IAAI,GAAG,GAAG,wBAAwB,CAAC;AACnC;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile2.js
FileName : /tests/cases/fourslash/inputFile2.js.map
{"version":3,"file":"inputFile2.js","sourceRoot":"sourceRootDir/","sources":["inputFile2.ts"],"names":[],"mappings":"AAAA,IAAI,GAAG,GAAG,wBAAwB,CAAC;AACnC;IAAA;IAGA,CAAC;IAAD,QAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile2.js
var bar = "hello world Typescript";
var C = (function () {
function C() {

View file

@ -1,6 +1,6 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile1.js.map
{"version":3,"file":"inputFile1.js","sourceRoot":"","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,kBAAkB;AACjB,IAAI,CAAC,GAAW,CAAC,CAAC;AAClB;IAAA;IAGA,CAAC;IAAD,UAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile1.js
FileName : /tests/cases/fourslash/inputFile1.js.map
{"version":3,"file":"inputFile1.js","sourceRoot":"","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,kBAAkB;AACjB,IAAI,CAAC,GAAW,CAAC,CAAC;AAClB;IAAA;IAGA,CAAC;IAAD,UAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile1.js
// regular ts file
var t = 5;
var Bar = (function () {
@ -8,7 +8,7 @@ var Bar = (function () {
}
return Bar;
}());
//# sourceMappingURL=inputFile1.js.mapFileName : tests/cases/fourslash/inputFile1.d.ts
//# sourceMappingURL=inputFile1.js.mapFileName : /tests/cases/fourslash/inputFile1.d.ts
declare var t: number;
declare class Bar {
x: string;
@ -16,11 +16,11 @@ declare class Bar {
}
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile2.jsx.map
{"version":3,"file":"inputFile2.jsx","sourceRoot":"","sources":["inputFile2.tsx"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,QAAQ,CAAC;AACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,EAAG,CAAA"}FileName : tests/cases/fourslash/inputFile2.jsx
FileName : /tests/cases/fourslash/inputFile2.jsx.map
{"version":3,"file":"inputFile2.jsx","sourceRoot":"","sources":["inputFile2.tsx"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,QAAQ,CAAC;AACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,EAAG,CAAA"}FileName : /tests/cases/fourslash/inputFile2.jsx
var y = "my div";
var x = <div name={y}/>;
//# sourceMappingURL=inputFile2.jsx.mapFileName : tests/cases/fourslash/inputFile2.d.ts
//# sourceMappingURL=inputFile2.jsx.mapFileName : /tests/cases/fourslash/inputFile2.d.ts
declare var y: string;
declare var x: any;

View file

@ -1,6 +1,6 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile1.js.map
{"version":3,"file":"inputFile1.js","sourceRoot":"","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,kBAAkB;AACjB,IAAI,CAAC,GAAW,CAAC,CAAC;AAClB;IAAA;IAGA,CAAC;IAAD,UAAC;AAAD,CAAC,AAHD,IAGC"}FileName : tests/cases/fourslash/inputFile1.js
FileName : /tests/cases/fourslash/inputFile1.js.map
{"version":3,"file":"inputFile1.js","sourceRoot":"","sources":["inputFile1.ts"],"names":[],"mappings":"AAAA,kBAAkB;AACjB,IAAI,CAAC,GAAW,CAAC,CAAC;AAClB;IAAA;IAGA,CAAC;IAAD,UAAC;AAAD,CAAC,AAHD,IAGC"}FileName : /tests/cases/fourslash/inputFile1.js
// regular ts file
var t = 5;
var Bar = (function () {
@ -8,7 +8,7 @@ var Bar = (function () {
}
return Bar;
}());
//# sourceMappingURL=inputFile1.js.mapFileName : tests/cases/fourslash/inputFile1.d.ts
//# sourceMappingURL=inputFile1.js.mapFileName : /tests/cases/fourslash/inputFile1.d.ts
declare var t: number;
declare class Bar {
x: string;
@ -16,11 +16,11 @@ declare class Bar {
}
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile2.js.map
{"version":3,"file":"inputFile2.js","sourceRoot":"","sources":["inputFile2.tsx"],"names":[],"mappings":"AACA,IAAI,CAAC,GAAG,QAAQ,CAAC;AACjB,IAAI,CAAC,GAAG,qBAAC,GAAG,IAAC,IAAI,EAAG,CAAE,EAAG,CAAA"}FileName : tests/cases/fourslash/inputFile2.js
FileName : /tests/cases/fourslash/inputFile2.js.map
{"version":3,"file":"inputFile2.js","sourceRoot":"","sources":["inputFile2.tsx"],"names":[],"mappings":"AACA,IAAI,CAAC,GAAG,QAAQ,CAAC;AACjB,IAAI,CAAC,GAAG,qBAAC,GAAG,IAAC,IAAI,EAAG,CAAE,EAAG,CAAA"}FileName : /tests/cases/fourslash/inputFile2.js
var y = "my div";
var x = React.createElement("div", {name: y});
//# sourceMappingURL=inputFile2.js.mapFileName : tests/cases/fourslash/inputFile2.d.ts
//# sourceMappingURL=inputFile2.js.mapFileName : /tests/cases/fourslash/inputFile2.d.ts
declare var React: any;
declare var y: string;
declare var x: any;

View file

@ -1,7 +1,7 @@
EmitSkipped: false
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile2.js
FileName : /tests/cases/fourslash/inputFile2.js
var x1 = "hello world";
var Foo = (function () {
function Foo() {

View file

@ -1,7 +1,7 @@
EmitSkipped: false
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile2.js
FileName : /tests/cases/fourslash/inputFile2.js
"use strict";
var Foo = (function () {
function Foo() {
@ -11,6 +11,6 @@ var Foo = (function () {
exports.Foo = Foo;
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile3.js
FileName : /tests/cases/fourslash/inputFile3.js
var x = "hello";

View file

@ -1,5 +1,5 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile1.js
FileName : /tests/cases/fourslash/inputFile1.js
// File contains early errors. All outputs should be skipped.
var uninitialized_const_error;

View file

@ -1,7 +1,7 @@
EmitSkipped: true
Diagnostics:
Exported variable 'foo' has or is using private name 'C'.
FileName : tests/cases/fourslash/inputFile.js
FileName : /tests/cases/fourslash/inputFile.js
var M;
(function (M) {
var C = (function () {

View file

@ -1,7 +1,7 @@
EmitSkipped: true
Diagnostics:
Exported variable 'foo' has or is using private name 'C'.
FileName : tests/cases/fourslash/inputFile.js
FileName : /tests/cases/fourslash/inputFile.js
define(["require", "exports"], function (require, exports) {
"use strict";
var C = (function () {

View file

@ -1,4 +1,4 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile.js
FileName : /tests/cases/fourslash/inputFile.js
var x = "hello world";

View file

@ -1,6 +1,6 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile.js
FileName : /tests/cases/fourslash/inputFile.js
var x = "hello world";
FileName : tests/cases/fourslash/inputFile.d.ts
FileName : /tests/cases/fourslash/inputFile.d.ts
declare var x: number;

View file

@ -1,8 +1,8 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile1.js
FileName : /tests/cases/fourslash/inputFile1.js
// File to emit, does not contain semantic errors
// expected to be emitted correctelly regardless of the semantic errors in the other file
var noErrors = true;
FileName : tests/cases/fourslash/inputFile1.d.ts
FileName : /tests/cases/fourslash/inputFile1.d.ts
declare var noErrors: boolean;

View file

@ -1,5 +1,5 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile1.js
FileName : /tests/cases/fourslash/inputFile1.js
// File to emit, does not contain syntactic errors
// expected to be emitted correctelly regardless of the syntactic errors in the other file
var noErrors = true;

View file

@ -1,4 +1,4 @@
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile.js
FileName : /tests/cases/fourslash/inputFile.js
var x;

View file

@ -2,7 +2,7 @@
// Should give completions for directories that are merged via the rootDirs compiler option
// @rootDirs: sub/src1,src2
// @rootDirs: tests/cases/fourslash/sub/src1,tests/cases/fourslash/src2
// @Filename: src2/test0.ts
//// import * as foo1 from "./mo/*import_as0*/

View file

@ -4,7 +4,7 @@
// @module: CommonJS
// @declaration: true
// @out: declSingleFile.js
// @outDir: tests/cases/fourslash/
// @outDir: /tests/cases/fourslash/
// @Filename: inputFile1.ts
//// var x: number = 5;

View file

@ -12,4 +12,4 @@
////var y = new DefaultExportedClass;
goTo.marker();
verify.renameInfoSucceeded("DefaultExportedClass", '"tests/cases/fourslash/foo".DefaultExportedClass');
verify.renameInfoSucceeded("DefaultExportedClass", '"/tests/cases/fourslash/foo".DefaultExportedClass');

View file

@ -12,4 +12,4 @@
////var y = new DefaultExportedClass;
goTo.marker();
verify.renameInfoSucceeded("DefaultExportedClass", '"tests/cases/fourslash/foo".DefaultExportedClass');
verify.renameInfoSucceeded("DefaultExportedClass", '"/tests/cases/fourslash/foo".DefaultExportedClass');

View file

@ -12,4 +12,4 @@
////var y = new /**/[|DefaultExportedClass|];
goTo.marker();
verify.renameInfoSucceeded("DefaultExportedClass", '"tests/cases/fourslash/foo".DefaultExportedClass');
verify.renameInfoSucceeded("DefaultExportedClass", '"/tests/cases/fourslash/foo".DefaultExportedClass');

View file

@ -13,4 +13,4 @@
////var y = DefaultExportedFunction();
goTo.marker();
verify.renameInfoSucceeded("DefaultExportedFunction", '"tests/cases/fourslash/foo".DefaultExportedFunction');
verify.renameInfoSucceeded("DefaultExportedFunction", '"/tests/cases/fourslash/foo".DefaultExportedFunction');

View file

@ -13,4 +13,4 @@
////var y = DefaultExportedFunction();
goTo.marker();
verify.renameInfoSucceeded("DefaultExportedFunction", '"tests/cases/fourslash/foo".DefaultExportedFunction');
verify.renameInfoSucceeded("DefaultExportedFunction", '"/tests/cases/fourslash/foo".DefaultExportedFunction');