|
| 1 | +@@jsxConfig({version: 4, mode: "classic"}) |
| 2 | +// Error: spreadProps should be first in order than other props |
| 3 | +// let c0 = <A x="x" {...p} /> |
1 | 4 |
|
2 |
| - Syntax error! |
3 |
| - tests/ppx/react/spreadProps.res:24:23-24 |
| 5 | +// Error: multiple spreadProps not allowed |
| 6 | +// let c0 = <A x="x" {...p0} {...p1} /> |
4 | 7 |
|
5 |
| - 22 │ // both need to be parsed |
6 |
| - 23 │ let c6 = <A {...(params->Obj.magic)} /> |
7 |
| - 24 │ let c7 = <A {...params->Obj.magic} /> |
8 |
| - 25 │ |
9 |
| - 26 │ @@jsxConfig({version:4, mode: "automatic"}) |
| 8 | +// only spread props |
| 9 | +let c1 = React.createElement(A.make, p) |
10 | 10 |
|
11 |
| - I'm not sure what to parse here when looking at "->". |
| 11 | +// reversed order |
| 12 | +let c2 = React.createElement(A.make, {...p, x: "x"}) |
12 | 13 |
|
| 14 | +let c3 = ReactDOM.createDOMElementVariadic("div", ~props=p, []) |
13 | 15 |
|
14 |
| - Syntax error! |
15 |
| - tests/ppx/react/spreadProps.res:24:25-27 |
| 16 | +let c4 = ReactDOM.createDOMElementVariadic("div", ~props={...p, x: "x", key: "k"}, []) |
16 | 17 |
|
17 |
| - 22 │ // both need to be parsed |
18 |
| - 23 │ let c6 = <A {...(params->Obj.magic)} /> |
19 |
| - 24 │ let c7 = <A {...params->Obj.magic} /> |
20 |
| - 25 │ |
21 |
| - 26 │ @@jsxConfig({version:4, mode: "automatic"}) |
| 18 | +let c4 = ReactDOM.createDOMElementVariadic( |
| 19 | + "div", |
| 20 | + ~props={...p, key: "k"}, |
| 21 | + [ReactDOM.createDOMElementVariadic("br", []), ReactDOM.createDOMElementVariadic("br", [])], |
| 22 | +) |
22 | 23 |
|
23 |
| - consecutive statements on a line must be separated by ';' or a newline |
| 24 | +let c5 = ReactDOM.createDOMElementVariadic( |
| 25 | + "div", |
| 26 | + ~props={...p, key: "k"}, |
| 27 | + [ReactDOM.createDOMElementVariadic("br", []), ReactDOM.createDOMElementVariadic("br", [])], |
| 28 | +) |
24 | 29 |
|
| 30 | +// both need to be parsed |
| 31 | +let c6 = React.createElement(A.make, params->Obj.magic) |
| 32 | +let c7 = React.createElement(A.make, params->Obj.magic) |
25 | 33 |
|
26 |
| - Syntax error! |
27 |
| - tests/ppx/react/spreadProps.res:47:23-24 |
| 34 | +@@jsxConfig({version: 4, mode: "automatic"}) |
| 35 | +// Error: spreadProps should be first in order than other props |
| 36 | +// let c0 = <A x="x" {...p} /> |
28 | 37 |
|
29 |
| - 45 │ // both need to be parsed |
30 |
| - 46 │ let c6 = <A {...(params->Obj.magic)} /> |
31 |
| - 47 │ let c7 = <A {...params->Obj.magic} /> |
32 |
| - 48 │ |
| 38 | +// Error: multiple spreadProps not allowed |
| 39 | +// let c0 = <A x="x" {...p0} {...p1} /> |
33 | 40 |
|
34 |
| - I'm not sure what to parse here when looking at "->". |
| 41 | +// only spread props |
| 42 | +let c1 = React.jsx(A.make, p) |
35 | 43 |
|
| 44 | +// reversed order |
| 45 | +let c2 = React.jsx(A.make, {...p, x: "x"}) |
| 46 | + |
| 47 | +let c3 = ReactDOM.jsx("div", p) |
| 48 | + |
| 49 | +let c4 = ReactDOM.jsxKeyed("div", {...p, x: "x"}, ~key="k", ()) |
| 50 | + |
| 51 | +let c5 = ReactDOM.jsxsKeyed( |
| 52 | + "div", |
| 53 | + {...p, children: React.array([ReactDOM.jsx("br", {}), ReactDOM.jsx("br", {})])}, |
| 54 | + ~key="k", |
| 55 | + (), |
| 56 | +) |
| 57 | + |
| 58 | +// both need to be parsed |
| 59 | +let c6 = React.jsx(A.make, params->Obj.magic) |
| 60 | +let c7 = React.jsx(A.make, params->Obj.magic) |
0 commit comments