Tests update after declaration file emit revert

This commit is contained in:
Sheetal Nandi 2015-10-28 16:59:52 -07:00
parent fdb7a3e452
commit 38ebb1d835
64 changed files with 702 additions and 12 deletions

View File

@ -4,3 +4,8 @@ interface I {
}
//// [computedPropertyNamesDeclarationEmit3_ES5.js]
//// [computedPropertyNamesDeclarationEmit3_ES5.d.ts]
interface I {
}

View File

@ -4,3 +4,8 @@ interface I {
}
//// [computedPropertyNamesDeclarationEmit3_ES6.js]
//// [computedPropertyNamesDeclarationEmit3_ES6.d.ts]
interface I {
}

View File

@ -5,3 +5,8 @@ var v: {
//// [computedPropertyNamesDeclarationEmit4_ES5.js]
var v;
//// [computedPropertyNamesDeclarationEmit4_ES5.d.ts]
declare var v: {
};

View File

@ -5,3 +5,8 @@ var v: {
//// [computedPropertyNamesDeclarationEmit4_ES6.js]
var v;
//// [computedPropertyNamesDeclarationEmit4_ES6.d.ts]
declare var v: {
};

View File

@ -20,3 +20,13 @@ const enum D {
// it is an error for a member declaration to specify an expression that isn't classified as a constant enum expression.
// Error : not a constant enum expression
var CONST = 9000 % 2;
//// [constEnum2.d.ts]
declare const CONST: number;
declare const enum D {
d = 10,
e,
f,
g,
}

View File

@ -31,3 +31,16 @@ var g;
g = "string";
function foo(x) { }
2 /* B */ = 3;
//// [constEnumPropertyAccess2.d.ts]
declare const enum G {
A = 1,
B = 2,
C = 3,
D = 2,
}
declare var z: typeof G;
declare var z1: any;
declare var g: G;
declare function foo(x: G): void;

View File

@ -19,3 +19,8 @@ var x = new M.C(); // Declaration file wont get emitted because there are errors
//// [client.js]
///<reference path="declFile.d.ts"/>
var x = new M.C(); // Declaration file wont get emitted because there are errors in declaration file
//// [client.d.ts]
/// <reference path="declFile.d.ts" />
declare var x: M.C;

View File

@ -19,3 +19,8 @@ var x = new M.C(); // Declaration file wont get emitted because there are errors
//// [out.js]
///<reference path="declFile.d.ts"/>
var x = new M.C(); // Declaration file wont get emitted because there are errors in declaration file
//// [out.d.ts]
/// <reference path="tests/cases/compiler/declFile.d.ts" />
declare var x: M.C;

View File

@ -17,3 +17,27 @@ function h(_a) {
function h1(_a) {
var a = _a[0], b = _a[1][0], c = _a[2][0][0], _b = _a[3], _c = _b.x, x = _c === void 0 ? 10 : _c, _d = _b.y, y = _d === void 0 ? [1, 2, 3] : _d, _e = _b.z, a1 = _e.a1, b1 = _e.b1;
}
//// [declarationEmitDestructuring2.d.ts]
declare function f({x, y: [a, b, c, d]}?: {
x?: number;
y?: [number, number, number, number];
}): void;
declare function g([a, b, c, d]?: [number, number, number, number]): void;
declare function h([a, [b], [[c]], {x, y: [a, b, c], z: {a1, b1}}]: [any, [any], [[any]], {
x?: number;
y: [any, any, any];
z: {
a1: any;
b1: any;
};
}]): void;
declare function h1([a, [b], [[c]], {x, y, z: {a1, b1}}]: [any, [any], [[any]], {
x?: number;
y?: number[];
z: {
a1: any;
b1: any;
};
}]): void;

View File

@ -26,3 +26,13 @@ function baz3(_a) { }
function baz4(_a) {
var _a = { x: 10 };
}
//// [declarationEmitDestructuring4.d.ts]
declare function baz([]: any[]): void;
declare function baz1([]?: number[]): void;
declare function baz2([[]]?: [number[]]): void;
declare function baz3({}: {}): void;
declare function baz4({}?: {
x: number;
}): void;

View File

@ -17,3 +17,15 @@ var _f = [], a11 = _f[0], b11 = _f[1], c11 = _f[2];
var _g = [1, ["hello", { x12: 5, y12: true }]], a2 = _g[0], _h = _g[1], _j = _h === void 0 ? ["abc", { x12: 10, y12: false }] : _h, b2 = _j[0], _k = _j[1], x12 = _k.x12, c2 = _k.y12;
var _l = [1, "hello"], x13 = _l[0], y13 = _l[1];
var _m = [[x13, y13], { x: x13, y: y13 }], a3 = _m[0], b3 = _m[1];
//// [declarationEmitDestructuringArrayPattern2.d.ts]
declare var x10: number, y10: string, z10: boolean;
declare var x11: number, y11: string;
declare var a11: any, b11: any, c11: any;
declare var a2: number, b2: string, x12: number, c2: boolean;
declare var x13: number, y13: string;
declare var a3: (number | string)[], b3: {
x: number;
y: string;
};

View File

@ -43,3 +43,22 @@ var m;
_a = f15(), m.a4 = _a.a4, m.b4 = _a.b4, m.c4 = _a.c4;
var _a;
})(m || (m = {}));
//// [declarationEmitDestructuringObjectLiteralPattern.d.ts]
declare var x4: number;
declare var y5: string;
declare var x6: number, y6: string;
declare var a1: number;
declare var b1: string;
declare var a2: number, b2: string;
declare var x11: number, y11: string, z11: boolean;
declare function f15(): {
a4: string;
b4: number;
c4: boolean;
};
declare var a4: string, b4: number, c4: boolean;
declare module m {
var a4: string, b4: number, c4: boolean;
}

View File

@ -16,3 +16,12 @@ var _b = { x6: 5, y6: "hello" }, x6 = _b.x6, y6 = _b.y6;
var a1 = { x7: 5, y7: "hello" }.x7;
var b1 = { x8: 5, y8: "hello" }.y8;
var _c = { x9: 5, y9: "hello" }, a2 = _c.x9, b2 = _c.y9;
//// [declarationEmitDestructuringObjectLiteralPattern1.d.ts]
declare var x4: number;
declare var y5: string;
declare var x6: number, y6: string;
declare var a1: number;
declare var b1: string;
declare var a2: number, b2: string;

View File

@ -38,3 +38,24 @@ var C3 = (function () {
}
return C3;
})();
//// [declarationEmitDestructuringParameterProperties.d.ts]
declare class C1 {
x: string, y: string, z: string;
constructor([x, y, z]: string[]);
}
declare type TupleType1 = [string, number, boolean];
declare class C2 {
x: string, y: number, z: boolean;
constructor([x, y, z]: TupleType1);
}
declare type ObjType1 = {
x: number;
y: string;
z: boolean;
};
declare class C3 {
x: number, y: string, z: boolean;
constructor({x, y, z}: ObjType1);
}

View File

@ -11,3 +11,12 @@ function foo(_a) {
function foo1(_a) {
var x = _a.x, y = _a.y, z = _a.z;
}
//// [declarationEmitDestructuringWithOptionalBindingParameters.d.ts]
declare function foo([x, y, z]?: [string, number, boolean]): void;
declare function foo1({x, y, z}?: {
x: string;
y: number;
z: boolean;
}): void;

View File

@ -5,3 +5,7 @@ var x = 0;
//// [declarationEmit_invalidReference2.js]
/// <reference path="invalid.ts" />
var x = 0;
//// [declarationEmit_invalidReference2.d.ts]
declare var x: number;

View File

@ -75,3 +75,36 @@ var v = 3;
var Foo;
(function (Foo) {
})(Foo || (Foo = {}));
//// [file1.d.ts]
interface I {
}
declare class C1 {
}
declare class C2 {
}
declare function f(): void;
declare var v: number;
declare class Foo {
static x: number;
}
declare module N {
module F {
}
}
//// [file2.d.ts]
declare class I {
}
interface C1 {
}
declare function C2(): void;
declare class f {
}
declare var v: number;
declare module Foo {
var x: number;
}
declare module N {
function F(): any;
}

View File

@ -9,3 +9,11 @@ function f(_a) {
var _a = { a: 1, b: "2", c: true };
var x, y, z;
}
//// [emptyObjectBindingPatternParameter04.d.ts]
declare function f({}?: {
a: number;
b: string;
c: boolean;
}): void;

View File

@ -19,3 +19,6 @@
var _e = void 0;
var _f = void 0;
})();
//// [emptyVariableDeclarationBindingPatterns02_ES5.d.ts]

View File

@ -19,3 +19,6 @@
let [];
const [];
})();
//// [emptyVariableDeclarationBindingPatterns02_ES6.d.ts]

View File

@ -9,3 +9,8 @@ export = f;
function f() { }
exports.f = f;
module.exports = f;
//// [es5ExportEquals.d.ts]
export declare function f(): void;
export = f;

View File

@ -7,3 +7,8 @@ export = f;
//// [es6ExportEquals.js]
export function f() { }
//// [es6ExportEquals.d.ts]
export declare function f(): void;
export = f;

View File

@ -41,3 +41,4 @@ var x1 = defaultBinding6;
//// [es6ImportDefaultBindingFollowedWithNamedImport1_0.d.ts]
declare var a: number;
export default a;
//// [es6ImportDefaultBindingFollowedWithNamedImport1_1.d.ts]

View File

@ -42,3 +42,4 @@ var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_6.default;
//// [es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0.d.ts]
declare var a: number;
export default a;
//// [es6ImportDefaultBindingFollowedWithNamedImport1InEs5_1.d.ts]

View File

@ -42,3 +42,10 @@ exports.x1 = server_6.default;
//// [server.d.ts]
declare var a: number;
export default a;
//// [client.d.ts]
export declare var x1: number;
export declare var x1: number;
export declare var x1: number;
export declare var x1: number;
export declare var x1: number;
export declare var x1: number;

View File

@ -88,3 +88,15 @@ export declare class a12 {
}
export declare class x11 {
}
//// [client.d.ts]
import { a } from "./server";
export declare var x1: a;
import { a11 as b } from "./server";
export declare var x2: b;
import { x, a12 as y } from "./server";
export declare var x4: x;
export declare var x5: y;
import { x11 as z } from "./server";
export declare var x3: z;
import { m } from "./server";
export declare var x6: m;

View File

@ -46,3 +46,11 @@ exports.x6 = new server_6.default();
declare class a {
}
export default a;
//// [client.d.ts]
import defaultBinding1 from "./server";
export declare var x1: defaultBinding1;
export declare var x2: defaultBinding1;
export declare var x3: defaultBinding1;
export declare var x4: defaultBinding1;
export declare var x5: defaultBinding1;
export declare var x6: defaultBinding1;

View File

@ -43,3 +43,4 @@ var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_5.m;
export declare var a: number;
export declare var x: number;
export declare var m: number;
//// [es6ImportDefaultBindingFollowedWithNamedImportInEs5_1.d.ts]

View File

@ -47,3 +47,10 @@ export declare var x: number;
export declare var m: number;
declare var _default: {};
export default _default;
//// [client.d.ts]
export declare var x1: number;
export declare var x1: number;
export declare var x1: number;
export declare var x1: number;
export declare var x1: number;
export declare var x1: number;

View File

@ -17,3 +17,4 @@ var x = nameSpaceBinding.a;
//// [es6ImportDefaultBindingFollowedWithNamespaceBinding_0.d.ts]
export declare var a: number;
//// [es6ImportDefaultBindingFollowedWithNamespaceBinding_1.d.ts]

View File

@ -25,3 +25,5 @@ define(["require", "exports", "server"], function (require, exports, server_1) {
//// [server.d.ts]
declare var a: number;
export default a;
//// [client.d.ts]
export declare var x: number;

View File

@ -23,3 +23,6 @@ exports.x = new nameSpaceBinding.a();
//// [server.d.ts]
export declare class a {
}
//// [client.d.ts]
import * as nameSpaceBinding from "./server";
export declare var x: nameSpaceBinding.a;

View File

@ -17,3 +17,4 @@ var x = nameSpaceBinding.a;
//// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0.d.ts]
export declare var a: number;
//// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.d.ts]

View File

@ -17,3 +17,5 @@ exports.x = nameSpaceBinding.a;
//// [server.d.ts]
export declare var a: number;
//// [client.d.ts]
export declare var x: number;

View File

@ -17,3 +17,4 @@ module.exports = a;
//// [es6ImportDefaultBindingInEs5_0.d.ts]
declare var a: number;
export = a;
//// [es6ImportDefaultBindingInEs5_1.d.ts]

View File

@ -25,3 +25,5 @@ define(["require", "exports", "server"], function (require, exports, server_1) {
//// [server.d.ts]
declare var a: number;
export default a;
//// [client.d.ts]
export declare var x: number;

View File

@ -22,3 +22,5 @@ define(["require", "exports", "server"], function (require, exports, nameSpaceBi
//// [server.d.ts]
export declare var a: number;
//// [client.d.ts]
export declare var x: number;

View File

@ -82,3 +82,16 @@ export declare var x1: number;
export declare var z1: number;
export declare var z2: number;
export declare var aaaa: number;
//// [client.d.ts]
export declare var xxxx: number;
export declare var xxxx: number;
export declare var xxxx: number;
export declare var xxxx: number;
export declare var xxxx: number;
export declare var xxxx: number;
export declare var xxxx: number;
export declare var xxxx: number;
export declare var xxxx: number;
export declare var xxxx: number;
export declare var z111: number;
export declare var z2: number;

View File

@ -15,3 +15,5 @@ require("server");
//// [server.d.ts]
export declare var a: number;
//// [client.d.ts]
export import "server";

View File

@ -56,3 +56,20 @@ var Bbb;
__export(require()); // this line causes the nullref
})(Bbb || (Bbb = {}));
var a;
//// [exportDeclarationInInternalModule.d.ts]
declare class Bbb {
}
declare class Aaa extends Bbb {
}
declare module Aaa {
class SomeType {
}
}
declare module Bbb {
class SomeType {
}
export * from Aaa;
}
declare var a: Bbb.SomeType;

View File

@ -56,3 +56,10 @@ export declare class A {
static r: any;
}
//// [exportStarFromEmptyModule_module2.d.ts]
//// [exportStarFromEmptyModule_module3.d.ts]
export * from "./exportStarFromEmptyModule_module2";
export * from "./exportStarFromEmptyModule_module1";
export declare class A {
static q: any;
}
//// [exportStarFromEmptyModule_module4.d.ts]

View File

@ -1,6 +1,6 @@
EmitSkipped: true
Diagnostics:
Type 'string' is not assignable to type 'number'.
EmitSkipped: false
FileName : tests/cases/fourslash/inputFile.js
var x = "hello world";
FileName : tests/cases/fourslash/inputFile.d.ts
declare var x: number;

View File

@ -1,10 +1,11 @@
EmitSkipped: true
Diagnostics:
Type 'string' is not assignable to type 'boolean'.
EmitSkipped: false
FileName : out.js
// File to emit, does not contain semantic errors, but --out is passed
// expected to not generate declarations because of the semantic errors in the other file
var noErrors = true;
// File not emitted, and contains semantic errors
var semanticError = "string";
FileName : out.d.ts
declare var noErrors: boolean;
declare var semanticError: boolean;

View File

@ -1107,3 +1107,307 @@ define(["require", "exports"], function (require, exports) {
})(eM = exports.eM || (exports.eM = {}));
;
});
//// [giant.d.ts]
export declare var eV: any;
export declare function eF(): void;
export declare class eC {
constructor();
pV: any;
private rV;
pF(): void;
private rF();
pgF(): void;
pgF: any;
psF(param: any): void;
psF: any;
private rgF();
private rgF;
private rsF(param);
private rsF;
static tV: any;
static tF(): void;
static tsF(param: any): void;
static tsF: any;
static tgF(): void;
static tgF: any;
}
export interface eI {
(): any;
(): number;
(p: any): any;
(p1: string): any;
(p2?: string): any;
(...p3: any[]): any;
(p4: string, p5?: string): any;
(p6: string, ...p7: any[]): any;
new (): any;
new (): number;
new (p: string): any;
new (p2?: string): any;
new (...p3: any[]): any;
new (p4: string, p5?: string): any;
new (p6: string, ...p7: any[]): any;
[p1: string]: any;
[p2: string, p3: number]: any;
p: any;
p1?: any;
p2?: string;
p3(): any;
p4?(): any;
p5?(): void;
p6(pa1: any): void;
p7(pa1: any, pa2: any): void;
p7?(pa1: any, pa2: any): void;
}
export declare module eM {
var eV: any;
function eF(): void;
class eC {
constructor();
pV: any;
private rV;
pF(): void;
private rF();
pgF(): void;
pgF: any;
psF(param: any): void;
psF: any;
private rgF();
private rgF;
private rsF(param);
private rsF;
static tV: any;
static tF(): void;
static tsF(param: any): void;
static tsF: any;
static tgF(): void;
static tgF: any;
}
interface eI {
(): any;
(): number;
(p: any): any;
(p1: string): any;
(p2?: string): any;
(...p3: any[]): any;
(p4: string, p5?: string): any;
(p6: string, ...p7: any[]): any;
new (): any;
new (): number;
new (p: string): any;
new (p2?: string): any;
new (...p3: any[]): any;
new (p4: string, p5?: string): any;
new (p6: string, ...p7: any[]): any;
[p1: string]: any;
[p2: string, p3: number]: any;
p: any;
p1?: any;
p2?: string;
p3(): any;
p4?(): any;
p5?(): void;
p6(pa1: any): void;
p7(pa1: any, pa2: any): void;
p7?(pa1: any, pa2: any): void;
}
module eM {
var eV: any;
function eF(): void;
class eC {
}
interface eI {
}
module eM {
}
var eaV: any;
function eaF(): void;
class eaC {
}
module eaM {
}
}
var eaV: any;
function eaF(): void;
class eaC {
constructor();
pV: any;
private rV;
pF(): void;
private rF();
pgF(): void;
pgF: any;
psF(param: any): void;
psF: any;
private rgF();
private rgF;
private rsF(param);
private rsF;
static tV: any;
static tF(): void;
static tsF(param: any): void;
static tsF: any;
static tgF(): void;
static tgF: any;
}
module eaM {
var V: any;
function F(): void;
class C {
}
interface I {
}
module M {
}
var eV: any;
function eF(): void;
class eC {
}
interface eI {
}
module eM {
}
}
}
export declare var eaV: any;
export declare function eaF(): void;
export declare class eaC {
constructor();
pV: any;
private rV;
pF(): void;
private rF();
pgF(): void;
pgF: any;
psF(param: any): void;
psF: any;
private rgF();
private rgF;
private rsF(param);
private rsF;
static tV: any;
static tF(): void;
static tsF(param: any): void;
static tsF: any;
static tgF(): void;
static tgF: any;
}
export declare module eaM {
var V: any;
function F(): void;
class C {
constructor();
pV: any;
private rV;
pF(): void;
static tV: any;
static tF(): void;
}
interface I {
(): any;
(): number;
(p: string): any;
(p2?: string): any;
(...p3: any[]): any;
(p4: string, p5?: string): any;
(p6: string, ...p7: any[]): any;
new (): any;
new (): number;
new (p: string): any;
new (p2?: string): any;
new (...p3: any[]): any;
new (p4: string, p5?: string): any;
new (p6: string, ...p7: any[]): any;
[p1: string]: any;
[p2: string, p3: number]: any;
p: any;
p1?: any;
p2?: string;
p3(): any;
p4?(): any;
p5?(): void;
p6(pa1: any): void;
p7(pa1: any, pa2: any): void;
p7?(pa1: any, pa2: any): void;
}
module M {
var V: any;
function F(): void;
class C {
}
interface I {
}
module M {
}
var eV: any;
function eF(): void;
class eC {
}
interface eI {
}
module eM {
}
var eaV: any;
function eaF(): void;
class eaC {
}
module eaM {
}
}
var eV: any;
function eF(): void;
class eC {
constructor();
pV: any;
private rV;
pF(): void;
static tV: any;
static tF(): void;
}
interface eI {
(): any;
(): number;
(p: any): any;
(p1: string): any;
(p2?: string): any;
(...p3: any[]): any;
(p4: string, p5?: string): any;
(p6: string, ...p7: any[]): any;
new (): any;
new (): number;
new (p: string): any;
new (p2?: string): any;
new (...p3: any[]): any;
new (p4: string, p5?: string): any;
new (p6: string, ...p7: any[]): any;
[p1: string]: any;
[p2: string, p3: number]: any;
p: any;
p1?: any;
p2?: string;
p3(): any;
p4?(): any;
p5?(): void;
p6(pa1: any): void;
p7(pa1: any, pa2: any): void;
p7?(pa1: any, pa2: any): void;
}
module eM {
var V: any;
function F(): void;
class C {
}
module M {
}
var eV: any;
function eF(): void;
class eC {
}
interface eI {
}
module eM {
}
}
}

View File

@ -4,3 +4,7 @@ export var x;
//// [file1.js]
export var x;
//// [file1.d.ts]
export declare var x: any;

View File

@ -18,3 +18,6 @@ function foo() {
function foo() {
return 30;
}
//// [out.d.ts]

View File

@ -19,3 +19,6 @@ function foo() {
function foo() {
return 10;
}
//// [out.d.ts]

View File

@ -9,3 +9,8 @@ var x = 10; // Error reported so no declaration file generated?
//// [out.js]
var x = "hello";
var x = 10; // Error reported so no declaration file generated?
//// [out.d.ts]
declare var x: string;
declare var x: string;

View File

@ -25,3 +25,13 @@ var c = (function () {
// error on above reference path when emitting declarations
function foo() {
}
//// [a.d.ts]
declare class c {
}
//// [c.d.ts]
declare function bar(): void;
//// [b.d.ts]
/// <reference path="c.d.ts" />
declare function foo(): void;

View File

@ -13,3 +13,8 @@ var b = 30;
a = 10;
var a = 10;
b = 30;
//// [out.d.ts]
declare let b: number;
declare let a: number;

View File

@ -11,3 +11,9 @@ var let = 10;
var a = 10;
let = 30;
var a;
//// [letAsIdentifier.d.ts]
declare var let: number;
declare var a: number;
declare let a: any;

View File

@ -21,4 +21,10 @@ var B = (function () {
}
return B;
})();
//# sourceMappingURL=c.js.map
//# sourceMappingURL=c.js.map
//// [c.d.ts]
declare class A {
}
declare class B {
}

View File

@ -9,6 +9,7 @@
"DifferentNamesSpecified/a.ts"
],
"emittedFiles": [
"test.js"
"test.js",
"test.d.ts"
]
}

View File

@ -0,0 +1 @@
declare var test: number;

View File

@ -9,6 +9,7 @@
"DifferentNamesSpecified/a.ts"
],
"emittedFiles": [
"test.js"
"test.js",
"test.d.ts"
]
}

View File

@ -0,0 +1 @@
declare var test: number;

View File

@ -0,0 +1,2 @@
declare class C {
}

View File

@ -0,0 +1,4 @@
/// <reference path="FolderC/fileC.d.ts" />
declare class B {
c: C;
}

View File

@ -15,6 +15,8 @@
],
"emittedFiles": [
"outdir/simple/FolderC/fileC.js",
"outdir/simple/fileB.js"
"outdir/simple/FolderC/fileC.d.ts",
"outdir/simple/fileB.js",
"outdir/simple/fileB.d.ts"
]
}

View File

@ -0,0 +1,2 @@
declare class C {
}

View File

@ -0,0 +1,4 @@
/// <reference path="FolderC/fileC.d.ts" />
declare class B {
c: C;
}

View File

@ -15,6 +15,8 @@
],
"emittedFiles": [
"outdir/simple/FolderC/fileC.js",
"outdir/simple/fileB.js"
"outdir/simple/FolderC/fileC.d.ts",
"outdir/simple/fileB.js",
"outdir/simple/fileB.d.ts"
]
}

View File

@ -41,3 +41,17 @@ var ob = { x: "" };
// Highlights the difference between array literals and object literals
var arr = [3, null]; // not assignable because null is not widened. BCT is {}
var obj = { x: 3, y: null }; // assignable because null is widened, and therefore BCT is any
//// [widenedTypes.d.ts]
declare var t: number[];
declare var x: typeof undefined;
declare var y: any;
declare var u: number[];
declare var ob: {
x: typeof undefined;
};
declare var arr: string[];
declare var obj: {
[x: string]: string;
};

View File

@ -16,7 +16,8 @@ verify.getSemanticDiagnostics('[]');
goTo.marker("2");
verify.getSemanticDiagnostics('[\n {\n "message": "Duplicate function implementation.",\n "start": 9,\n "length": 3,\n "category": "error",\n "code": 2393\n }\n]');
verify.verifyGetEmitOutputContentsForCurrentFile([
{ fileName: "out.js", content: "function foo() { return 10; }\r\nfunction foo() { return 30; }\r\n" }]);
{ fileName: "out.js", content: "function foo() { return 10; }\r\nfunction foo() { return 30; }\r\n" },
{ fileName: "out.d.ts", content: "" }]);
goTo.marker("2");
verify.getSemanticDiagnostics('[\n {\n "message": "Duplicate function implementation.",\n "start": 9,\n "length": 3,\n "category": "error",\n "code": 2393\n }\n]');
goTo.marker("1");