From 1e433bfb4f5007b752c749d6dd4590606ffd997e Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Thu, 7 Jan 2016 14:33:47 -0800 Subject: [PATCH] Add tests --- .../reactNamespaceImportPresevation.js | 20 +++++++++ .../reactNamespaceImportPresevation.symbols | 20 +++++++++ .../reactNamespaceImportPresevation.types | 22 ++++++++++ .../reference/reactNamespaceJSXEmit.js | 20 +++++++++ .../reference/reactNamespaceJSXEmit.symbols | 32 +++++++++++++++ .../reference/reactNamespaceJSXEmit.types | 41 +++++++++++++++++++ ...eactNamespaceMissingDeclaration.errors.txt | 9 ++++ .../reactNamespaceMissingDeclaration.js | 8 ++++ .../reactNamespaceImportPresevation.tsx | 15 +++++++ .../cases/compiler/reactNamespaceJSXEmit.tsx | 13 ++++++ .../reactNamespaceMissingDeclaration.tsx | 5 +++ 11 files changed, 205 insertions(+) create mode 100644 tests/baselines/reference/reactNamespaceImportPresevation.js create mode 100644 tests/baselines/reference/reactNamespaceImportPresevation.symbols create mode 100644 tests/baselines/reference/reactNamespaceImportPresevation.types create mode 100644 tests/baselines/reference/reactNamespaceJSXEmit.js create mode 100644 tests/baselines/reference/reactNamespaceJSXEmit.symbols create mode 100644 tests/baselines/reference/reactNamespaceJSXEmit.types create mode 100644 tests/baselines/reference/reactNamespaceMissingDeclaration.errors.txt create mode 100644 tests/baselines/reference/reactNamespaceMissingDeclaration.js create mode 100644 tests/cases/compiler/reactNamespaceImportPresevation.tsx create mode 100644 tests/cases/compiler/reactNamespaceJSXEmit.tsx create mode 100644 tests/cases/compiler/reactNamespaceMissingDeclaration.tsx diff --git a/tests/baselines/reference/reactNamespaceImportPresevation.js b/tests/baselines/reference/reactNamespaceImportPresevation.js new file mode 100644 index 00000000000..5c44674d031 --- /dev/null +++ b/tests/baselines/reference/reactNamespaceImportPresevation.js @@ -0,0 +1,20 @@ +//// [tests/cases/compiler/reactNamespaceImportPresevation.tsx] //// + +//// [modules.d.ts] + +declare module "my-React-Lib" { + var a: any; + export = a; +} + +//// [test.tsx] +import * as myReactLib from "my-React-Lib"; // should not be elided +declare var foo: any; + +; + + +//// [test.jsx] +"use strict"; +var myReactLib = require("my-React-Lib"); // should not be elided +; diff --git a/tests/baselines/reference/reactNamespaceImportPresevation.symbols b/tests/baselines/reference/reactNamespaceImportPresevation.symbols new file mode 100644 index 00000000000..8a4407c8160 --- /dev/null +++ b/tests/baselines/reference/reactNamespaceImportPresevation.symbols @@ -0,0 +1,20 @@ +=== tests/cases/compiler/modules.d.ts === + +declare module "my-React-Lib" { + var a: any; +>a : Symbol(a, Decl(modules.d.ts, 2, 7)) + + export = a; +>a : Symbol(a, Decl(modules.d.ts, 2, 7)) +} + +=== tests/cases/compiler/test.tsx === +import * as myReactLib from "my-React-Lib"; // should not be elided +>myReactLib : Symbol(myReactLib, Decl(test.tsx, 0, 6)) + +declare var foo: any; +>foo : Symbol(foo, Decl(test.tsx, 1, 11)) + +; +>data : Symbol(unknown) + diff --git a/tests/baselines/reference/reactNamespaceImportPresevation.types b/tests/baselines/reference/reactNamespaceImportPresevation.types new file mode 100644 index 00000000000..adb1d60d2d5 --- /dev/null +++ b/tests/baselines/reference/reactNamespaceImportPresevation.types @@ -0,0 +1,22 @@ +=== tests/cases/compiler/modules.d.ts === + +declare module "my-React-Lib" { + var a: any; +>a : any + + export = a; +>a : any +} + +=== tests/cases/compiler/test.tsx === +import * as myReactLib from "my-React-Lib"; // should not be elided +>myReactLib : any + +declare var foo: any; +>foo : any + +; +> : any +>foo : any +>data : any + diff --git a/tests/baselines/reference/reactNamespaceJSXEmit.js b/tests/baselines/reference/reactNamespaceJSXEmit.js new file mode 100644 index 00000000000..26967d56b7b --- /dev/null +++ b/tests/baselines/reference/reactNamespaceJSXEmit.js @@ -0,0 +1,20 @@ +//// [reactNamespaceJSXEmit.tsx] + +declare var myReactLib: any; +declare var foo: any; +declare var Bar: any; +declare var x: any; + +; +; +; +; +; + + +//// [reactNamespaceJSXEmit.js] +myReactLib.createElement("foo", {data: true}); +myReactLib.createElement(Bar, {x: x}); +myReactLib.createElement("x-component", null); +myReactLib.createElement(Bar, myReactLib.__spread({}, x)); +myReactLib.createElement(Bar, myReactLib.__spread({}, x, {y: 2})); diff --git a/tests/baselines/reference/reactNamespaceJSXEmit.symbols b/tests/baselines/reference/reactNamespaceJSXEmit.symbols new file mode 100644 index 00000000000..d79c1cf531e --- /dev/null +++ b/tests/baselines/reference/reactNamespaceJSXEmit.symbols @@ -0,0 +1,32 @@ +=== tests/cases/compiler/reactNamespaceJSXEmit.tsx === + +declare var myReactLib: any; +>myReactLib : Symbol(myReactLib, Decl(reactNamespaceJSXEmit.tsx, 1, 11)) + +declare var foo: any; +>foo : Symbol(foo, Decl(reactNamespaceJSXEmit.tsx, 2, 11)) + +declare var Bar: any; +>Bar : Symbol(Bar, Decl(reactNamespaceJSXEmit.tsx, 3, 11)) + +declare var x: any; +>x : Symbol(x, Decl(reactNamespaceJSXEmit.tsx, 4, 11)) + +; +>data : Symbol(unknown) + +; +>Bar : Symbol(Bar, Decl(reactNamespaceJSXEmit.tsx, 3, 11)) +>x : Symbol(unknown) +>x : Symbol(x, Decl(reactNamespaceJSXEmit.tsx, 4, 11)) + +; +; +>Bar : Symbol(Bar, Decl(reactNamespaceJSXEmit.tsx, 3, 11)) +>x : Symbol(x, Decl(reactNamespaceJSXEmit.tsx, 4, 11)) + +; +>Bar : Symbol(Bar, Decl(reactNamespaceJSXEmit.tsx, 3, 11)) +>x : Symbol(x, Decl(reactNamespaceJSXEmit.tsx, 4, 11)) +>y : Symbol(unknown) + diff --git a/tests/baselines/reference/reactNamespaceJSXEmit.types b/tests/baselines/reference/reactNamespaceJSXEmit.types new file mode 100644 index 00000000000..06c803ef7fd --- /dev/null +++ b/tests/baselines/reference/reactNamespaceJSXEmit.types @@ -0,0 +1,41 @@ +=== tests/cases/compiler/reactNamespaceJSXEmit.tsx === + +declare var myReactLib: any; +>myReactLib : any + +declare var foo: any; +>foo : any + +declare var Bar: any; +>Bar : any + +declare var x: any; +>x : any + +; +> : any +>foo : any +>data : any + +; +> : any +>Bar : any +>x : any +>x : any + +; +> : any +>x-component : any + +; +> : any +>Bar : any +>x : any + +; +> : any +>Bar : any +>x : any +>y : any +>2 : number + diff --git a/tests/baselines/reference/reactNamespaceMissingDeclaration.errors.txt b/tests/baselines/reference/reactNamespaceMissingDeclaration.errors.txt new file mode 100644 index 00000000000..f87d223f824 --- /dev/null +++ b/tests/baselines/reference/reactNamespaceMissingDeclaration.errors.txt @@ -0,0 +1,9 @@ +tests/cases/compiler/reactNamespaceMissingDeclaration.tsx(3,2): error TS2304: Cannot find name 'myReactLib'. + + +==== tests/cases/compiler/reactNamespaceMissingDeclaration.tsx (1 errors) ==== + + // Error myReactLib not declared + + ~~~ +!!! error TS2304: Cannot find name 'myReactLib'. \ No newline at end of file diff --git a/tests/baselines/reference/reactNamespaceMissingDeclaration.js b/tests/baselines/reference/reactNamespaceMissingDeclaration.js new file mode 100644 index 00000000000..d972f319f8f --- /dev/null +++ b/tests/baselines/reference/reactNamespaceMissingDeclaration.js @@ -0,0 +1,8 @@ +//// [reactNamespaceMissingDeclaration.tsx] + +// Error myReactLib not declared + + +//// [reactNamespaceMissingDeclaration.js] +// Error myReactLib not declared +myReactLib.createElement("foo", {data: true}); diff --git a/tests/cases/compiler/reactNamespaceImportPresevation.tsx b/tests/cases/compiler/reactNamespaceImportPresevation.tsx new file mode 100644 index 00000000000..ec7e5d0d6ac --- /dev/null +++ b/tests/cases/compiler/reactNamespaceImportPresevation.tsx @@ -0,0 +1,15 @@ +//@jsx: preserve +//@module: commonjs +//@reactNamespace: myReactLib + +//@filename: modules.d.ts +declare module "my-React-Lib" { + var a: any; + export = a; +} + +//@filename: test.tsx +import * as myReactLib from "my-React-Lib"; // should not be elided +declare var foo: any; + +; diff --git a/tests/cases/compiler/reactNamespaceJSXEmit.tsx b/tests/cases/compiler/reactNamespaceJSXEmit.tsx new file mode 100644 index 00000000000..a3ed9aea4e3 --- /dev/null +++ b/tests/cases/compiler/reactNamespaceJSXEmit.tsx @@ -0,0 +1,13 @@ +//@jsx: react +//@reactNamespace: myReactLib + +declare var myReactLib: any; +declare var foo: any; +declare var Bar: any; +declare var x: any; + +; +; +; +; +; diff --git a/tests/cases/compiler/reactNamespaceMissingDeclaration.tsx b/tests/cases/compiler/reactNamespaceMissingDeclaration.tsx new file mode 100644 index 00000000000..fdfed629606 --- /dev/null +++ b/tests/cases/compiler/reactNamespaceMissingDeclaration.tsx @@ -0,0 +1,5 @@ +//@jsx: react +//@reactNamespace: myReactLib + +// Error myReactLib not declared + \ No newline at end of file