Fixed default import from export equals

(cherry picked from commit c4a10cfcdd)
This commit is contained in:
Bill Ticehurst
2016-02-28 18:25:04 -08:00
parent b760fc0ae0
commit 3ebf0fc383
8 changed files with 117 additions and 4 deletions

View File

@@ -0,0 +1,27 @@
//// [tests/cases/compiler/exportEqualsDefaultProperty.ts] ////
//// [exp.ts]
var x = {
"greeting": "hello, world",
"default": 42
};
export = x
//// [imp.ts]
import foo from "./exp";
foo.toExponential(2);
//// [exp.js]
"use strict";
var x = {
"greeting": "hello, world",
"default": 42
};
module.exports = x;
//// [imp.js]
"use strict";
var exp_1 = require("./exp");
exp_1["default"].toExponential(2);

View File

@@ -0,0 +1,21 @@
=== tests/cases/compiler/exp.ts ===
var x = {
>x : Symbol(x, Decl(exp.ts, 1, 3))
"greeting": "hello, world",
"default": 42
};
export = x
>x : Symbol(x, Decl(exp.ts, 1, 3))
=== tests/cases/compiler/imp.ts ===
import foo from "./exp";
>foo : Symbol(foo, Decl(imp.ts, 0, 6))
foo.toExponential(2);
>foo.toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --))
>foo : Symbol(foo, Decl(imp.ts, 0, 6))
>toExponential : Symbol(Number.toExponential, Decl(lib.d.ts, --, --))

View File

@@ -0,0 +1,28 @@
=== tests/cases/compiler/exp.ts ===
var x = {
>x : { "greeting": string; "default": number; }
>{ "greeting": "hello, world", "default": 42} : { "greeting": string; "default": number; }
"greeting": "hello, world",
>"hello, world" : string
"default": 42
>42 : number
};
export = x
>x : { "greeting": string; "default": number; }
=== tests/cases/compiler/imp.ts ===
import foo from "./exp";
>foo : number
foo.toExponential(2);
>foo.toExponential(2) : string
>foo.toExponential : (fractionDigits?: number) => string
>foo : number
>toExponential : (fractionDigits?: number) => string
>2 : number

View File

@@ -0,0 +1,12 @@
// @Filename: exp.ts
var x = {
"greeting": "hello, world",
"default": 42
};
export = x
// @Filename: imp.ts
import foo from "./exp";
foo.toExponential(2);

View File

@@ -5,9 +5,28 @@
//// function foo() { return {a: "hello, world"}; }
//// module.exports = foo();
// @Filename: mod2.js
//// var x = {name: 'test'};
//// (function createExport(obj){
//// module.exports = {
//// "default": x,
//// "sausages": {eggs: 2}
//// };
//// })();
// @Filename: app.js
//// import {a} from "./mod"
//// import def, {sausages} from "./mod2"
//// a./**/
goTo.marker();
verify.completionListContains('toString');
edit.backspace(2);
edit.insert("def.");
verify.completionListContains("name");
edit.insert("name;\nsausages.");
verify.completionListContains("eggs");
edit.insert("eggs;");
verify.numberOfErrorsInCurrentFile(0);