TypeScript/tests/cases/fourslash/scriptLexicalStructureModules.ts

49 lines
1.5 KiB
TypeScript
Raw Normal View History

2014-09-18 02:40:32 +02:00

////{| "itemName": "\"X.Y.Z\"", "kind": "module" |}
////declare module "X.Y.Z" {
////}
////
////{| "itemName": "'X2.Y2.Z2'", "kind": "module" |}
2014-09-18 03:11:37 +02:00
////declare module 'X2.Y2.Z2' {
////}
////
2014-09-18 02:40:32 +02:00
////{| "itemName": "A.B.C", "kind": "module" |}
////module A.B.C {
2014-09-22 20:43:52 +02:00
//// {| "itemName": "x", "kind": "var", "parentName": "A.B.C" |}
2014-09-18 02:40:32 +02:00
//// export var x;
////}
////
////{| "itemName": "A.B", "kind": "module" |}
////module A.B {
2014-09-22 20:43:52 +02:00
//// {| "itemName": "y", "kind": "var", "parentName": "A.B" |}
2014-09-18 02:40:32 +02:00
//// export var y;
////}
////
////{| "itemName": "A", "kind": "module" |}
////module A {
2014-09-22 20:43:52 +02:00
//// {| "itemName": "z", "kind": "var", "parentName": "A" |}
2014-09-18 02:40:32 +02:00
//// export var z;
////}
////
////{| "itemName": "A", "kind": "module" |}
////module A {
2014-09-22 20:43:52 +02:00
//// {| "itemName": "B", "kind": "module", "parentName": "E" |}
2014-09-18 02:40:32 +02:00
//// module B {
2014-09-22 20:43:52 +02:00
//// {| "itemName": "C", "kind": "module", "parentName": "F" |}
2014-09-18 02:40:32 +02:00
//// module C {
2014-09-22 20:43:52 +02:00
//// {| "itemName": "x", "kind": "var", "parentName": "C" |}
2014-09-18 02:40:32 +02:00
//// declare var x;
//// }
//// }
////}
test.markers().forEach((marker) => {
verify.getScriptLexicalStructureListContains(marker.data.itemName, marker.data.kind, marker.fileName, marker.data.parentName);
});
2014-09-18 03:11:37 +02:00
/// We have 8 module keywords, and 4 var keywords.
2014-09-18 02:40:32 +02:00
/// The declarations of A.B.C.x do not get merged, so the 4 vars are independent.
2014-09-18 03:11:37 +02:00
/// The two 'A' modules, however, do get merged, so in reality we have 7 modules.
verify.getScriptLexicalStructureListCount(11);