Skip to content

Commit 6534181

Browse files
committed
Merge pull request #621 from Microsoft/specConformanceTests
Conformance coverage for spec change #589
2 parents 18c1789 + 5d299d4 commit 6534181

File tree

40 files changed

+792
-4
lines changed

40 files changed

+792
-4
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
==== tests/cases/conformance/ambient/ambientExternalModuleInsideNonAmbient.ts (1 errors) ====
2+
module M {
3+
export declare module "M" { }
4+
~~~
5+
!!! Ambient external modules cannot be nested in other modules.
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
//// [ambientExternalModuleInsideNonAmbient.ts]
2+
module M {
3+
export declare module "M" { }
4+
}
5+
6+
//// [ambientExternalModuleInsideNonAmbient.js]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
==== tests/cases/conformance/ambient/ambientExternalModuleInsideNonAmbientExternalModule.ts (1 errors) ====
2+
export declare module "M" { }
3+
~~~
4+
!!! Ambient external modules cannot be nested in other modules.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
//// [ambientExternalModuleInsideNonAmbientExternalModule.ts]
2+
export declare module "M" { }
3+
4+
//// [ambientExternalModuleInsideNonAmbientExternalModule.js]
5+
define(["require", "exports"], function (require, exports) {
6+
});
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//// [tests/cases/conformance/ambient/ambientExternalModuleMerging.ts] ////
2+
3+
//// [ambientExternalModuleMerging_use.ts]
4+
import M = require("M");
5+
// Should be strings
6+
var x = M.x;
7+
var y = M.y;
8+
9+
//// [ambientExternalModuleMerging_declare.ts]
10+
declare module "M" {
11+
export var x: string;
12+
}
13+
14+
// Merge
15+
declare module "M" {
16+
export var y: string;
17+
}
18+
19+
//// [ambientExternalModuleMerging_use.js]
20+
define(["require", "exports", "M"], function (require, exports, M) {
21+
// Should be strings
22+
var x = M.x;
23+
var y = M.y;
24+
});
25+
//// [ambientExternalModuleMerging_declare.js]
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
=== tests/cases/conformance/ambient/ambientExternalModuleMerging_use.ts ===
2+
import M = require("M");
3+
>M : typeof M
4+
5+
// Should be strings
6+
var x = M.x;
7+
>x : string
8+
>M.x : string
9+
>M : typeof M
10+
>x : string
11+
12+
var y = M.y;
13+
>y : string
14+
>M.y : string
15+
>M : typeof M
16+
>y : string
17+
18+
=== tests/cases/conformance/ambient/ambientExternalModuleMerging_declare.ts ===
19+
declare module "M" {
20+
export var x: string;
21+
>x : string
22+
}
23+
24+
// Merge
25+
declare module "M" {
26+
export var y: string;
27+
>y : string
28+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
//// [ambientInsideNonAmbient.ts]
2+
module M {
3+
export declare var x;
4+
export declare function f();
5+
export declare class C { }
6+
export declare enum E { }
7+
export declare module M { }
8+
}
9+
10+
module M2 {
11+
declare var x;
12+
declare function f();
13+
declare class C { }
14+
declare enum E { }
15+
declare module M { }
16+
}
17+
18+
//// [ambientInsideNonAmbient.js]
19+
var M;
20+
(function (M) {
21+
})(M || (M = {}));
22+
var M2;
23+
(function (M2) {
24+
})(M2 || (M2 = {}));
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
=== tests/cases/conformance/ambient/ambientInsideNonAmbient.ts ===
2+
module M {
3+
>M : typeof M
4+
5+
export declare var x;
6+
>x : any
7+
8+
export declare function f();
9+
>f : () => any
10+
11+
export declare class C { }
12+
>C : C
13+
14+
export declare enum E { }
15+
>E : E
16+
17+
export declare module M { }
18+
>M : unknown
19+
}
20+
21+
module M2 {
22+
>M2 : typeof M2
23+
24+
declare var x;
25+
>x : any
26+
27+
declare function f();
28+
>f : () => any
29+
30+
declare class C { }
31+
>C : C
32+
33+
declare enum E { }
34+
>E : E
35+
36+
declare module M { }
37+
>M : unknown
38+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//// [ambientInsideNonAmbientExternalModule.ts]
2+
export declare var x;
3+
export declare function f();
4+
export declare class C { }
5+
export declare enum E { }
6+
export declare module M { }
7+
8+
//// [ambientInsideNonAmbientExternalModule.js]
9+
define(["require", "exports"], function (require, exports) {
10+
});
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
=== tests/cases/conformance/ambient/ambientInsideNonAmbientExternalModule.ts ===
2+
export declare var x;
3+
>x : any
4+
5+
export declare function f();
6+
>f : () => any
7+
8+
export declare class C { }
9+
>C : C
10+
11+
export declare enum E { }
12+
>E : E
13+
14+
export declare module M { }
15+
>M : unknown
16+

0 commit comments

Comments
 (0)