mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-11 19:27:35 -06:00
Add enum/module merge test
This commit is contained in:
parent
dc9d307f13
commit
aa1a7664e7
@ -1,16 +1,16 @@
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(58,1): error TS2322: Type 'Abcd.E' is not assignable to type 'First.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(68,1): error TS2322: Type 'Abcd.E' is not assignable to type 'First.E'.
|
||||
Property 'd' is missing in type 'First.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(60,1): error TS2322: Type 'Cd.E' is not assignable to type 'First.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(70,1): error TS2322: Type 'Cd.E' is not assignable to type 'First.E'.
|
||||
Property 'd' is missing in type 'First.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(61,1): error TS2322: Type 'Nope' is not assignable to type 'E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(65,1): error TS2322: Type 'First.E' is not assignable to type 'Ab.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(71,1): error TS2322: Type 'Nope' is not assignable to type 'E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(75,1): error TS2322: Type 'First.E' is not assignable to type 'Ab.E'.
|
||||
Property 'c' is missing in type 'Ab.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(66,1): error TS2322: Type 'First.E' is not assignable to type 'Cd.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(76,1): error TS2322: Type 'First.E' is not assignable to type 'Cd.E'.
|
||||
Property 'a' is missing in type 'Cd.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(67,1): error TS2322: Type 'E' is not assignable to type 'Nope'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(72,1): error TS2322: Type 'Const.E' is not assignable to type 'First.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(73,1): error TS2322: Type 'First.E' is not assignable to type 'Const.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(76,1): error TS2322: Type 'Merged.E' is not assignable to type 'First.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(77,1): error TS2322: Type 'E' is not assignable to type 'Nope'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(82,1): error TS2322: Type 'Const.E' is not assignable to type 'First.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(83,1): error TS2322: Type 'First.E' is not assignable to type 'Const.E'.
|
||||
tests/cases/compiler/enumAssignmentCompat3.ts(86,1): error TS2322: Type 'Merged.E' is not assignable to type 'First.E'.
|
||||
Property 'd' is missing in type 'First.E'.
|
||||
|
||||
|
||||
@ -62,6 +62,15 @@ tests/cases/compiler/enumAssignmentCompat3.ts(76,1): error TS2322: Type 'Merged.
|
||||
}
|
||||
}
|
||||
|
||||
namespace Merged2 {
|
||||
export enum E {
|
||||
a, b, c
|
||||
}
|
||||
export module E {
|
||||
export let d = 5;
|
||||
}
|
||||
}
|
||||
|
||||
var abc: First.E;
|
||||
var secondAbc: Abc.E;
|
||||
var secondAbcd: Abcd.E;
|
||||
@ -71,6 +80,7 @@ tests/cases/compiler/enumAssignmentCompat3.ts(76,1): error TS2322: Type 'Merged.
|
||||
var k: Const.E;
|
||||
var decl: Decl.E;
|
||||
var merged: Merged.E;
|
||||
var merged2: Merged2.E;
|
||||
abc = secondAbc; // ok
|
||||
abc = secondAbcd; // missing 'd'
|
||||
~~~
|
||||
@ -114,4 +124,6 @@ tests/cases/compiler/enumAssignmentCompat3.ts(76,1): error TS2322: Type 'Merged.
|
||||
~~~
|
||||
!!! error TS2322: Type 'Merged.E' is not assignable to type 'First.E'.
|
||||
!!! error TS2322: Property 'd' is missing in type 'First.E'.
|
||||
merged = abc; // ok
|
||||
merged = abc; // ok
|
||||
abc = merged2; // ok
|
||||
merged2 = abc; // ok
|
||||
@ -46,6 +46,15 @@ namespace Merged {
|
||||
}
|
||||
}
|
||||
|
||||
namespace Merged2 {
|
||||
export enum E {
|
||||
a, b, c
|
||||
}
|
||||
export module E {
|
||||
export let d = 5;
|
||||
}
|
||||
}
|
||||
|
||||
var abc: First.E;
|
||||
var secondAbc: Abc.E;
|
||||
var secondAbcd: Abcd.E;
|
||||
@ -55,6 +64,7 @@ var nope: Abc.Nope;
|
||||
var k: Const.E;
|
||||
var decl: Decl.E;
|
||||
var merged: Merged.E;
|
||||
var merged2: Merged2.E;
|
||||
abc = secondAbc; // ok
|
||||
abc = secondAbcd; // missing 'd'
|
||||
abc = secondAb; // ok
|
||||
@ -75,7 +85,9 @@ k = abc;
|
||||
|
||||
// merged enums compare all their members
|
||||
abc = merged; // missing 'd'
|
||||
merged = abc; // ok
|
||||
merged = abc; // ok
|
||||
abc = merged2; // ok
|
||||
merged2 = abc; // ok
|
||||
|
||||
//// [enumAssignmentCompat3.js]
|
||||
var First;
|
||||
@ -144,6 +156,19 @@ var Merged;
|
||||
})(Merged.E || (Merged.E = {}));
|
||||
var E = Merged.E;
|
||||
})(Merged || (Merged = {}));
|
||||
var Merged2;
|
||||
(function (Merged2) {
|
||||
(function (E) {
|
||||
E[E["a"] = 0] = "a";
|
||||
E[E["b"] = 1] = "b";
|
||||
E[E["c"] = 2] = "c";
|
||||
})(Merged2.E || (Merged2.E = {}));
|
||||
var E = Merged2.E;
|
||||
var E;
|
||||
(function (E) {
|
||||
E.d = 5;
|
||||
})(E = Merged2.E || (Merged2.E = {}));
|
||||
})(Merged2 || (Merged2 = {}));
|
||||
var abc;
|
||||
var secondAbc;
|
||||
var secondAbcd;
|
||||
@ -153,6 +178,7 @@ var nope;
|
||||
var k;
|
||||
var decl;
|
||||
var merged;
|
||||
var merged2;
|
||||
abc = secondAbc; // ok
|
||||
abc = secondAbcd; // missing 'd'
|
||||
abc = secondAb; // ok
|
||||
@ -172,3 +198,5 @@ k = abc;
|
||||
// merged enums compare all their members
|
||||
abc = merged; // missing 'd'
|
||||
merged = abc; // ok
|
||||
abc = merged2; // ok
|
||||
merged2 = abc; // ok
|
||||
|
||||
@ -45,6 +45,15 @@ namespace Merged {
|
||||
}
|
||||
}
|
||||
|
||||
namespace Merged2 {
|
||||
export enum E {
|
||||
a, b, c
|
||||
}
|
||||
export module E {
|
||||
export let d = 5;
|
||||
}
|
||||
}
|
||||
|
||||
var abc: First.E;
|
||||
var secondAbc: Abc.E;
|
||||
var secondAbcd: Abcd.E;
|
||||
@ -54,6 +63,7 @@ var nope: Abc.Nope;
|
||||
var k: Const.E;
|
||||
var decl: Decl.E;
|
||||
var merged: Merged.E;
|
||||
var merged2: Merged2.E;
|
||||
abc = secondAbc; // ok
|
||||
abc = secondAbcd; // missing 'd'
|
||||
abc = secondAb; // ok
|
||||
@ -74,4 +84,6 @@ k = abc;
|
||||
|
||||
// merged enums compare all their members
|
||||
abc = merged; // missing 'd'
|
||||
merged = abc; // ok
|
||||
merged = abc; // ok
|
||||
abc = merged2; // ok
|
||||
merged2 = abc; // ok
|
||||
Loading…
x
Reference in New Issue
Block a user