Add test cases for dts generation without export tag

This commit is contained in:
Sheetal Nandi 2015-02-10 17:53:29 -08:00
parent 0dfe4255c9
commit 00dc5fcce9
21 changed files with 931 additions and 0 deletions

View File

@ -0,0 +1,32 @@
//// [tests/cases/compiler/es6ImportDefaultBindingDts.ts] ////
//// [server.ts]
class c { }
export = c;
//// [client.ts]
import defaultBinding from "server";
export var x = new defaultBinding();
import defaultBinding2 from "server"; // elide this import since defaultBinding2 is not used
//// [server.js]
var c = (function () {
function c() {
}
return c;
})();
module.exports = c;
//// [client.js]
var defaultBinding = require("server");
exports.x = new defaultBinding();
//// [server.d.ts]
declare class c {
}
export = c;
//// [client.d.ts]
import defaultBinding from "server";
export declare var x: defaultBinding;

View File

@ -0,0 +1,20 @@
=== tests/cases/compiler/server.ts ===
class c { }
>c : c
export = c;
>c : c
=== tests/cases/compiler/client.ts ===
import defaultBinding from "server";
>defaultBinding : typeof defaultBinding
export var x = new defaultBinding();
>x : defaultBinding
>new defaultBinding() : defaultBinding
>defaultBinding : typeof defaultBinding
import defaultBinding2 from "server"; // elide this import since defaultBinding2 is not used
>defaultBinding2 : typeof defaultBinding

View File

@ -0,0 +1,43 @@
tests/cases/compiler/client.ts(1,8): error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
tests/cases/compiler/client.ts(2,8): error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
tests/cases/compiler/client.ts(4,8): error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
tests/cases/compiler/client.ts(6,8): error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
tests/cases/compiler/client.ts(9,8): error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
tests/cases/compiler/client.ts(11,8): error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
==== tests/cases/compiler/server.ts (0 errors) ====
export class a { }
export class x { }
export class m { }
export class a11 { }
export class a12 { }
export class x11 { }
==== tests/cases/compiler/client.ts (6 errors) ====
import defaultBinding1, { } from "server";
~~~~~~~~~~~~~~~
!!! error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
import defaultBinding2, { a } from "server";
~~~~~~~~~~~~~~~
!!! error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
export var x1 = new a();
import defaultBinding3, { a11 as b } from "server";
~~~~~~~~~~~~~~~
!!! error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
export var x2 = new b();
import defaultBinding4, { x, a12 as y } from "server";
~~~~~~~~~~~~~~~
!!! error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
export var x4 = new x();
export var x5 = new y();
import defaultBinding5, { x11 as z, } from "server";
~~~~~~~~~~~~~~~
!!! error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
export var x3 = new z();
import defaultBinding6, { m, } from "server";
~~~~~~~~~~~~~~~
!!! error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
export var x6 = new m();

View File

@ -0,0 +1,102 @@
//// [tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts.ts] ////
//// [server.ts]
export class a { }
export class x { }
export class m { }
export class a11 { }
export class a12 { }
export class x11 { }
//// [client.ts]
import defaultBinding1, { } from "server";
import defaultBinding2, { a } from "server";
export var x1 = new a();
import defaultBinding3, { a11 as b } from "server";
export var x2 = new b();
import defaultBinding4, { x, a12 as y } from "server";
export var x4 = new x();
export var x5 = new y();
import defaultBinding5, { x11 as z, } from "server";
export var x3 = new z();
import defaultBinding6, { m, } from "server";
export var x6 = new m();
//// [server.js]
var a = (function () {
function a() {
}
return a;
})();
exports.a = a;
var x = (function () {
function x() {
}
return x;
})();
exports.x = x;
var m = (function () {
function m() {
}
return m;
})();
exports.m = m;
var a11 = (function () {
function a11() {
}
return a11;
})();
exports.a11 = a11;
var a12 = (function () {
function a12() {
}
return a12;
})();
exports.a12 = a12;
var x11 = (function () {
function x11() {
}
return x11;
})();
exports.x11 = x11;
//// [client.js]
var defaultBinding2 = require("server");
exports.x1 = new a();
var defaultBinding3 = require("server");
exports.x2 = new b();
var defaultBinding4 = require("server");
exports.x4 = new x();
exports.x5 = new y();
var defaultBinding5 = require("server");
exports.x3 = new z();
var defaultBinding6 = require("server");
exports.x6 = new m();
//// [server.d.ts]
export declare class a {
}
export declare class x {
}
export declare class m {
}
export declare class a11 {
}
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

@ -0,0 +1,38 @@
tests/cases/compiler/client.ts(3,27): error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
tests/cases/compiler/client.ts(5,27): error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
tests/cases/compiler/client.ts(7,27): error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'x'.
tests/cases/compiler/client.ts(7,30): error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
tests/cases/compiler/client.ts(9,27): error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'x'.
tests/cases/compiler/client.ts(11,27): error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'm'.
==== tests/cases/compiler/server.ts (0 errors) ====
class a { }
export = a;
==== tests/cases/compiler/client.ts (6 errors) ====
import defaultBinding1, { } from "server";
export var x1 = new defaultBinding1();
import defaultBinding2, { a } from "server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x2 = new defaultBinding2();
import defaultBinding3, { a as b } from "server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x3 = new defaultBinding3();
import defaultBinding4, { x, a as y } from "server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'x'.
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x4 = new defaultBinding4();
import defaultBinding5, { x as z, } from "server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'x'.
export var x5 = new defaultBinding5();
import defaultBinding6, { m, } from "server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'm'.
export var x6 = new defaultBinding6();

View File

@ -0,0 +1,55 @@
//// [tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts1.ts] ////
//// [server.ts]
class a { }
export = a;
//// [client.ts]
import defaultBinding1, { } from "server";
export var x1 = new defaultBinding1();
import defaultBinding2, { a } from "server";
export var x2 = new defaultBinding2();
import defaultBinding3, { a as b } from "server";
export var x3 = new defaultBinding3();
import defaultBinding4, { x, a as y } from "server";
export var x4 = new defaultBinding4();
import defaultBinding5, { x as z, } from "server";
export var x5 = new defaultBinding5();
import defaultBinding6, { m, } from "server";
export var x6 = new defaultBinding6();
//// [server.js]
var a = (function () {
function a() {
}
return a;
})();
module.exports = a;
//// [client.js]
var defaultBinding1 = require("server");
exports.x1 = new defaultBinding1();
var defaultBinding2 = require("server");
exports.x2 = new defaultBinding2();
var defaultBinding3 = require("server");
exports.x3 = new defaultBinding3();
var defaultBinding4 = require("server");
exports.x4 = new defaultBinding4();
var defaultBinding5 = require("server");
exports.x5 = new defaultBinding5();
var defaultBinding6 = require("server");
exports.x6 = new defaultBinding6();
//// [server.d.ts]
declare class a {
}
export = 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

@ -0,0 +1,12 @@
tests/cases/compiler/client.ts(1,8): error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
==== tests/cases/compiler/server.ts (0 errors) ====
export class a { }
==== tests/cases/compiler/client.ts (1 errors) ====
import defaultBinding, * as nameSpaceBinding from "server";
~~~~~~~~~~~~~~
!!! error TS1189: External module '"tests/cases/compiler/server"' has no default export or export assignment.
export var x = new nameSpaceBinding.a();

View File

@ -0,0 +1,28 @@
//// [tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.ts] ////
//// [server.ts]
export class a { }
//// [client.ts]
import defaultBinding, * as nameSpaceBinding from "server";
export var x = new nameSpaceBinding.a();
//// [server.js]
var a = (function () {
function a() {
}
return a;
})();
exports.a = a;
//// [client.js]
var defaultBinding = require("server");
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

@ -0,0 +1,33 @@
//// [tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingDts1.ts] ////
//// [server.ts]
class a { }
export = a;
//// [client.ts]
import defaultBinding, * as nameSpaceBinding from "server";
export var x = new defaultBinding();
//// [server.js]
define(["require", "exports"], function (require, exports) {
var a = (function () {
function a() {
}
return a;
})();
return a;
});
//// [client.js]
define(["require", "exports", "server"], function (require, exports, defaultBinding) {
exports.x = new defaultBinding();
});
//// [server.d.ts]
declare class a {
}
export = a;
//// [client.d.ts]
import defaultBinding from "server";
export declare var x: defaultBinding;

View File

@ -0,0 +1,18 @@
=== tests/cases/compiler/server.ts ===
class a { }
>a : a
export = a;
>a : a
=== tests/cases/compiler/client.ts ===
import defaultBinding, * as nameSpaceBinding from "server";
>defaultBinding : typeof defaultBinding
>nameSpaceBinding : typeof nameSpaceBinding
export var x = new defaultBinding();
>x : defaultBinding
>new defaultBinding() : defaultBinding
>defaultBinding : typeof defaultBinding

View File

@ -0,0 +1,30 @@
//// [tests/cases/compiler/es6ImportNameSpaceImportDts.ts] ////
//// [server.ts]
export class c { };
//// [client.ts]
import * as nameSpaceBinding from "server";
export var x = new nameSpaceBinding.c();
import * as nameSpaceBinding2 from "server"; // unreferenced
//// [server.js]
var c = (function () {
function c() {
}
return c;
})();
exports.c = c;
;
//// [client.js]
var nameSpaceBinding = require("server");
exports.x = new nameSpaceBinding.c();
//// [server.d.ts]
export declare class c {
}
//// [client.d.ts]
import * as nameSpaceBinding from "server";
export declare var x: nameSpaceBinding.c;

View File

@ -0,0 +1,19 @@
=== tests/cases/compiler/server.ts ===
export class c { };
>c : c
=== tests/cases/compiler/client.ts ===
import * as nameSpaceBinding from "server";
>nameSpaceBinding : typeof nameSpaceBinding
export var x = new nameSpaceBinding.c();
>x : nameSpaceBinding.c
>new nameSpaceBinding.c() : nameSpaceBinding.c
>nameSpaceBinding.c : typeof nameSpaceBinding.c
>nameSpaceBinding : typeof nameSpaceBinding
>c : typeof nameSpaceBinding.c
import * as nameSpaceBinding2 from "server"; // unreferenced
>nameSpaceBinding2 : typeof nameSpaceBinding

View File

@ -0,0 +1,220 @@
//// [tests/cases/compiler/es6ImportNamedImportDts.ts] ////
//// [server.ts]
export class a { }
export class a11 { }
export class a12 { }
export class x { }
export class x11 { }
export class m { }
export class a1 { }
export class x1 { }
export class a111 { }
export class x111 { }
export class z1 { }
export class z2 { }
export class aaaa { }
export class aaaa1 { }
//// [client.ts]
import { } from "server";
import { a } from "server";
export var xxxx = new a();
import { a11 as b } from "server";
export var xxxx1 = new b();
import { x, a12 as y } from "server";
export var xxxx2 = new x();
export var xxxx3 = new y();
import { x11 as z, } from "server";
export var xxxx4 = new z();
import { m, } from "server";
export var xxxx5 = new m();
import { a1, x1 } from "server";
export var xxxx6 = new a1();
export var xxxx7 = new x1();
import { a111 as a11, x111 as x11 } from "server";
export var xxxx8 = new a11();
export var xxxx9 = new x11();
import { z1 } from "server";
export var z111 = new z1();
import { z2 as z3 } from "server";
export var z2 = new z3(); // z2 shouldn't give redeclare error
// not referenced
import { aaaa } from "server";
import { aaaa1 as bbbb } from "server";
//// [server.js]
var a = (function () {
function a() {
}
return a;
})();
exports.a = a;
var a11 = (function () {
function a11() {
}
return a11;
})();
exports.a11 = a11;
var a12 = (function () {
function a12() {
}
return a12;
})();
exports.a12 = a12;
var x = (function () {
function x() {
}
return x;
})();
exports.x = x;
var x11 = (function () {
function x11() {
}
return x11;
})();
exports.x11 = x11;
var m = (function () {
function m() {
}
return m;
})();
exports.m = m;
var a1 = (function () {
function a1() {
}
return a1;
})();
exports.a1 = a1;
var x1 = (function () {
function x1() {
}
return x1;
})();
exports.x1 = x1;
var a111 = (function () {
function a111() {
}
return a111;
})();
exports.a111 = a111;
var x111 = (function () {
function x111() {
}
return x111;
})();
exports.x111 = x111;
var z1 = (function () {
function z1() {
}
return z1;
})();
exports.z1 = z1;
var z2 = (function () {
function z2() {
}
return z2;
})();
exports.z2 = z2;
var aaaa = (function () {
function aaaa() {
}
return aaaa;
})();
exports.aaaa = aaaa;
var aaaa1 = (function () {
function aaaa1() {
}
return aaaa1;
})();
exports.aaaa1 = aaaa1;
//// [client.js]
var _a = require("server");
var a = _a.a;
exports.xxxx = new a();
var _b = require("server");
var b = _b.a11;
exports.xxxx1 = new b();
var _c = require("server");
var x = _c.x;
var y = _c.a12;
exports.xxxx2 = new x();
exports.xxxx3 = new y();
var _d = require("server");
var z = _d.x11;
exports.xxxx4 = new z();
var _e = require("server");
var m = _e.m;
exports.xxxx5 = new m();
var _f = require("server");
var a1 = _f.a1;
var x1 = _f.x1;
exports.xxxx6 = new a1();
exports.xxxx7 = new x1();
var _g = require("server");
var a11 = _g.a111;
var x11 = _g.x111;
exports.xxxx8 = new a11();
exports.xxxx9 = new x11();
var _h = require("server");
var z1 = _h.z1;
exports.z111 = new z1();
var _j = require("server");
var z3 = _j.z2;
exports.z2 = new z3(); // z2 shouldn't give redeclare error
//// [server.d.ts]
export declare class a {
}
export declare class a11 {
}
export declare class a12 {
}
export declare class x {
}
export declare class x11 {
}
export declare class m {
}
export declare class a1 {
}
export declare class x1 {
}
export declare class a111 {
}
export declare class x111 {
}
export declare class z1 {
}
export declare class z2 {
}
export declare class aaaa {
}
export declare class aaaa1 {
}
//// [client.d.ts]
import { a } from "server";
export declare var xxxx: a;
import { a11 as b } from "server";
export declare var xxxx1: b;
import { x, a12 as y } from "server";
export declare var xxxx2: x;
export declare var xxxx3: y;
import { x11 as z } from "server";
export declare var xxxx4: z;
import { m } from "server";
export declare var xxxx5: m;
import { a1, x1 } from "server";
export declare var xxxx6: a1;
export declare var xxxx7: x1;
import { a111 as a11, x111 as x11 } from "server";
export declare var xxxx8: a11;
export declare var xxxx9: x11;
import { z1 } from "server";
export declare var z111: z1;
import { z2 as z3 } from "server";
export declare var z2: z3;

View File

@ -0,0 +1,150 @@
=== tests/cases/compiler/server.ts ===
export class a { }
>a : a
export class a11 { }
>a11 : a11
export class a12 { }
>a12 : a12
export class x { }
>x : x
export class x11 { }
>x11 : x11
export class m { }
>m : m
export class a1 { }
>a1 : a1
export class x1 { }
>x1 : x1
export class a111 { }
>a111 : a111
export class x111 { }
>x111 : x111
export class z1 { }
>z1 : z1
export class z2 { }
>z2 : z2
export class aaaa { }
>aaaa : aaaa
export class aaaa1 { }
>aaaa1 : aaaa1
=== tests/cases/compiler/client.ts ===
import { } from "server";
import { a } from "server";
>a : typeof a
export var xxxx = new a();
>xxxx : a
>new a() : a
>a : typeof a
import { a11 as b } from "server";
>a11 : unknown
>b : typeof b
export var xxxx1 = new b();
>xxxx1 : b
>new b() : b
>b : typeof b
import { x, a12 as y } from "server";
>x : typeof x
>a12 : unknown
>y : typeof y
export var xxxx2 = new x();
>xxxx2 : x
>new x() : x
>x : typeof x
export var xxxx3 = new y();
>xxxx3 : y
>new y() : y
>y : typeof y
import { x11 as z, } from "server";
>x11 : unknown
>z : typeof z
export var xxxx4 = new z();
>xxxx4 : z
>new z() : z
>z : typeof z
import { m, } from "server";
>m : typeof m
export var xxxx5 = new m();
>xxxx5 : m
>new m() : m
>m : typeof m
import { a1, x1 } from "server";
>a1 : typeof a1
>x1 : typeof x1
export var xxxx6 = new a1();
>xxxx6 : a1
>new a1() : a1
>a1 : typeof a1
export var xxxx7 = new x1();
>xxxx7 : x1
>new x1() : x1
>x1 : typeof x1
import { a111 as a11, x111 as x11 } from "server";
>a111 : unknown
>a11 : typeof a11
>x111 : unknown
>x11 : typeof x11
export var xxxx8 = new a11();
>xxxx8 : a11
>new a11() : a11
>a11 : typeof a11
export var xxxx9 = new x11();
>xxxx9 : x11
>new x11() : x11
>x11 : typeof x11
import { z1 } from "server";
>z1 : typeof z1
export var z111 = new z1();
>z111 : z1
>new z1() : z1
>z1 : typeof z1
import { z2 as z3 } from "server";
>z2 : unknown
>z3 : typeof z3
export var z2 = new z3(); // z2 shouldn't give redeclare error
>z2 : z3
>new z3() : z3
>z3 : typeof z3
// not referenced
import { aaaa } from "server";
>aaaa : typeof aaaa
import { aaaa1 as bbbb } from "server";
>aaaa1 : unknown
>bbbb : typeof bbbb

View File

@ -0,0 +1,11 @@
// @module: commonjs
// @declaration: true
// @filename: server.ts
class c { }
export = c;
// @filename: client.ts
import defaultBinding from "server";
export var x = new defaultBinding();
import defaultBinding2 from "server"; // elide this import since defaultBinding2 is not used

View File

@ -0,0 +1,25 @@
// @target: es6
// @module: commonjs
// @declaration: true
// @filename: server.ts
export class a { }
export class x { }
export class m { }
export class a11 { }
export class a12 { }
export class x11 { }
// @filename: client.ts
import defaultBinding1, { } from "server";
import defaultBinding2, { a } from "server";
export var x1 = new a();
import defaultBinding3, { a11 as b } from "server";
export var x2 = new b();
import defaultBinding4, { x, a12 as y } from "server";
export var x4 = new x();
export var x5 = new y();
import defaultBinding5, { x11 as z, } from "server";
export var x3 = new z();
import defaultBinding6, { m, } from "server";
export var x6 = new m();

View File

@ -0,0 +1,20 @@
// @module: commonjs
// @declaration: true
// @filename: server.ts
class a { }
export = a;
// @filename: client.ts
import defaultBinding1, { } from "server";
export var x1 = new defaultBinding1();
import defaultBinding2, { a } from "server";
export var x2 = new defaultBinding2();
import defaultBinding3, { a as b } from "server";
export var x3 = new defaultBinding3();
import defaultBinding4, { x, a as y } from "server";
export var x4 = new defaultBinding4();
import defaultBinding5, { x as z, } from "server";
export var x5 = new defaultBinding5();
import defaultBinding6, { m, } from "server";
export var x6 = new defaultBinding6();

View File

@ -0,0 +1,9 @@
// @module: commonjs
// @declaration: true
// @filename: server.ts
export class a { }
// @filename: client.ts
import defaultBinding, * as nameSpaceBinding from "server";
export var x = new nameSpaceBinding.a();

View File

@ -0,0 +1,10 @@
// @module: amd
// @declaration: true
// @filename: server.ts
class a { }
export = a;
// @filename: client.ts
import defaultBinding, * as nameSpaceBinding from "server";
export var x = new defaultBinding();

View File

@ -0,0 +1,10 @@
// @module: commonjs
// @declaration: true
// @filename: server.ts
export class c { };
// @filename: client.ts
import * as nameSpaceBinding from "server";
export var x = new nameSpaceBinding.c();
import * as nameSpaceBinding2 from "server"; // unreferenced

View File

@ -0,0 +1,46 @@
// @module: commonjs
// @declaration: true
// @filename: server.ts
export class a { }
export class a11 { }
export class a12 { }
export class x { }
export class x11 { }
export class m { }
export class a1 { }
export class x1 { }
export class a111 { }
export class x111 { }
export class z1 { }
export class z2 { }
export class aaaa { }
export class aaaa1 { }
// @filename: client.ts
import { } from "server";
import { a } from "server";
export var xxxx = new a();
import { a11 as b } from "server";
export var xxxx1 = new b();
import { x, a12 as y } from "server";
export var xxxx2 = new x();
export var xxxx3 = new y();
import { x11 as z, } from "server";
export var xxxx4 = new z();
import { m, } from "server";
export var xxxx5 = new m();
import { a1, x1 } from "server";
export var xxxx6 = new a1();
export var xxxx7 = new x1();
import { a111 as a11, x111 as x11 } from "server";
export var xxxx8 = new a11();
export var xxxx9 = new x11();
import { z1 } from "server";
export var z111 = new z1();
import { z2 as z3 } from "server";
export var z2 = new z3(); // z2 shouldn't give redeclare error
// not referenced
import { aaaa } from "server";
import { aaaa1 as bbbb } from "server";