TypeScript/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types
2014-08-28 12:40:58 -07:00

113 lines
2 KiB
Plaintext

=== tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts ===
module A {
>A : unknown
export interface Point {
>Point : Point
x: number;
>x : number
y: number;
>y : number
toCarth(): Point;
>toCarth : () => Point
>Point : Point
}
}
module A {
>A : unknown
export interface Point {
>Point : Point
fromCarth(): Point;
>fromCarth : () => Point
>Point : Point
}
}
// ensure merges as expected
var p: { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; };
>p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }
>x : number
>y : number
>toCarth : () => A.Point
>A : unknown
>Point : A.Point
>fromCarth : () => A.Point
>A : unknown
>Point : A.Point
var p: A.Point;
>p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }
>A : unknown
>Point : A.Point
module X.Y.Z {
>X : unknown
>Y : unknown
>Z : unknown
export interface Line {
>Line : Line
new (start: A.Point, end: A.Point);
>start : A.Point
>A : unknown
>Point : A.Point
>end : A.Point
>A : unknown
>Point : A.Point
}
}
module X {
>X : unknown
export module Y.Z {
>Y : unknown
>Z : unknown
export interface Line {
>Line : Line
start: A.Point;
>start : A.Point
>A : unknown
>Point : A.Point
end: A.Point;
>end : A.Point
>A : unknown
>Point : A.Point
}
}
}
// ensure merges as expected
var l: { start: A.Point; end: A.Point; new (s: A.Point, e: A.Point); }
>l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; }
>start : A.Point
>A : unknown
>Point : A.Point
>end : A.Point
>A : unknown
>Point : A.Point
>s : A.Point
>A : unknown
>Point : A.Point
>e : A.Point
>A : unknown
>Point : A.Point
var l: X.Y.Z.Line;
>l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; }
>X : unknown
>Y : unknown
>Z : unknown
>Line : X.Y.Z.Line