Skip to content

Commit 7bf52ee

Browse files
author
David Sheldrick
committed
add notifications and tests for jsx react-native es3
1 parent 8d590d5 commit 7bf52ee

13 files changed

+134
-2
lines changed

src/compiler/transformers/es5.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace ts {
1414
// enable emit notification only if using --jsx preserve
1515
let previousOnEmitNode: (emitContext: EmitContext, node: Node, emitCallback: (emitContext: EmitContext, node: Node) => void) => void;
1616
let noSubstitution: boolean[];
17-
if (compilerOptions.jsx === JsxEmit.Preserve) {
17+
if (compilerOptions.jsx === JsxEmit.Preserve || compilerOptions.jsx === JsxEmit.ReactNative) {
1818
previousOnEmitNode = context.onEmitNode;
1919
context.onEmitNode = onEmitNode;
2020
context.enableEmitNotification(SyntaxKind.JsxOpeningElement);
@@ -116,4 +116,4 @@ namespace ts {
116116
return undefined;
117117
}
118118
}
119-
}
119+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
//// [es3-jsx-preserve.tsx]
2+
3+
const React: any = null;
4+
5+
const elem = <div></div>;
6+
7+
8+
9+
//// [es3-jsx-preserve.jsx]
10+
var React = null;
11+
var elem = <div></div>;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
=== tests/cases/compiler/es3-jsx-preserve.tsx ===
2+
3+
const React: any = null;
4+
>React : Symbol(React, Decl(es3-jsx-preserve.tsx, 1, 5))
5+
6+
const elem = <div></div>;
7+
>elem : Symbol(elem, Decl(es3-jsx-preserve.tsx, 3, 5))
8+
>div : Symbol(unknown)
9+
>div : Symbol(unknown)
10+
11+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
=== tests/cases/compiler/es3-jsx-preserve.tsx ===
2+
3+
const React: any = null;
4+
>React : any
5+
>null : null
6+
7+
const elem = <div></div>;
8+
>elem : any
9+
><div></div> : any
10+
>div : any
11+
>div : any
12+
13+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
//// [es3-jsx-react-native.tsx]
2+
3+
const React: any = null;
4+
5+
const elem = <div></div>;
6+
7+
8+
9+
//// [es3-jsx-react-native.js]
10+
var React = null;
11+
var elem = <div></div>;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
=== tests/cases/compiler/es3-jsx-react-native.tsx ===
2+
3+
const React: any = null;
4+
>React : Symbol(React, Decl(es3-jsx-react-native.tsx, 1, 5))
5+
6+
const elem = <div></div>;
7+
>elem : Symbol(elem, Decl(es3-jsx-react-native.tsx, 3, 5))
8+
>div : Symbol(unknown)
9+
>div : Symbol(unknown)
10+
11+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
=== tests/cases/compiler/es3-jsx-react-native.tsx ===
2+
3+
const React: any = null;
4+
>React : any
5+
>null : null
6+
7+
const elem = <div></div>;
8+
>elem : any
9+
><div></div> : any
10+
>div : any
11+
>div : any
12+
13+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
//// [es3-jsx-react.tsx]
2+
3+
const React: any = null;
4+
5+
const elem = <div></div>;
6+
7+
8+
9+
//// [es3-jsx-react.js]
10+
var React = null;
11+
var elem = React.createElement("div", null);
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
=== tests/cases/compiler/es3-jsx-react.tsx ===
2+
3+
const React: any = null;
4+
>React : Symbol(React, Decl(es3-jsx-react.tsx, 1, 5))
5+
6+
const elem = <div></div>;
7+
>elem : Symbol(elem, Decl(es3-jsx-react.tsx, 3, 5))
8+
>div : Symbol(unknown)
9+
>div : Symbol(unknown)
10+
11+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
=== tests/cases/compiler/es3-jsx-react.tsx ===
2+
3+
const React: any = null;
4+
>React : any
5+
>null : null
6+
7+
const elem = <div></div>;
8+
>elem : any
9+
><div></div> : any
10+
>div : any
11+
>div : any
12+
13+

0 commit comments

Comments
 (0)