1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
=== tests/cases/conformance/jsx/file.tsx ===
import React = require('react');
>React : Symbol(React, Decl(file.tsx, 0, 0))
const Tag = (x: {}) => <div></div>;
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
>x : Symbol(x, Decl(file.tsx, 2, 13))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
// OK
const k1 = <Tag />;
>k1 : Symbol(k1, Decl(file.tsx, 5, 5))
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
const k2 = <Tag></Tag>;
>k2 : Symbol(k2, Decl(file.tsx, 6, 5))
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
// Not OK (excess children)
const k3 = <Tag children={<div></div>} />;
>k3 : Symbol(k3, Decl(file.tsx, 9, 5))
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
>children : Symbol(children, Decl(file.tsx, 9, 15))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
const k4 = <Tag key="1"><div></div></Tag>;
>k4 : Symbol(k4, Decl(file.tsx, 10, 5))
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
>key : Symbol(key, Decl(file.tsx, 10, 15))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
const k5 = <Tag key="1"><div></div><div></div></Tag>;
>k5 : Symbol(k5, Decl(file.tsx, 11, 5))
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
>key : Symbol(key, Decl(file.tsx, 11, 15))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
>div : Symbol(JSX.IntrinsicElements.div, Decl(react.d.ts, 2400, 45))
>Tag : Symbol(Tag, Decl(file.tsx, 2, 5))
|