Skip to content

Commit cdcca2b

Browse files
committed
add test
1 parent d7b14d6 commit cdcca2b

File tree

2 files changed

+34
-35
lines changed

2 files changed

+34
-35
lines changed
Lines changed: 23 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,35 @@
1-
@@jsxConfig({version: 4, mode: "classic"})
2-
// Error: spreadProps should be first in order than other props
3-
// let c0 = <A x="x" {...p} />
41

5-
// Error: multiple spreadProps not allowed
6-
// let c0 = <A x="x" {...p0} {...p1} />
2+
Syntax error!
3+
tests/ppx/react/spreadProps.res:24:23-24
74

8-
// only spread props
9-
let c1 = React.createElement(A.make, p)
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"})
1010

11-
// reversed order
12-
let c2 = React.createElement(A.make, {...p, x: "x"})
11+
I'm not sure what to parse here when looking at "->".
1312

14-
let c3 = ReactDOM.createDOMElementVariadic("div", ~props=p, [])
1513

16-
let c4 = ReactDOM.createDOMElementVariadic("div", ~props={...p, x: "x", key: "k"}, [])
14+
Syntax error!
15+
tests/ppx/react/spreadProps.res:24:25-27
1716

18-
let c4 = ReactDOM.createDOMElementVariadic(
19-
"div",
20-
~props={...p, key: "k"},
21-
[ReactDOM.createDOMElementVariadic("br", []), ReactDOM.createDOMElementVariadic("br", [])],
22-
)
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"})
2322

24-
@@jsxConfig({version: 4, mode: "automatic"})
25-
// Error: spreadProps should be first in order than other props
26-
// let c0 = <A x="x" {...p} />
23+
consecutive statements on a line must be separated by ';' or a newline
2724

28-
// Error: multiple spreadProps not allowed
29-
// let c0 = <A x="x" {...p0} {...p1} />
3025

31-
// only spread props
32-
let c1 = React.jsx(A.make, p)
26+
Syntax error!
27+
tests/ppx/react/spreadProps.res:47:23-24
3328

34-
// reversed order
35-
let c2 = React.jsx(A.make, {...p, x: "x"})
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 │
3633

37-
let c3 = ReactDOM.jsx("div", p)
34+
I'm not sure what to parse here when looking at "->".
3835

39-
let c4 = ReactDOM.jsxKeyed("div", {...p, x: "x"}, ~key="k", ())
40-
41-
let c5 = ReactDOM.jsxsKeyed(
42-
"div",
43-
{...p, children: React.array([ReactDOM.jsx("br", {}), ReactDOM.jsx("br", {})])},
44-
~key="k",
45-
(),
46-
)

res_syntax/tests/ppx/react/spreadProps.res

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ let c4 = <div {...p} x="x" key="k" />
1717

1818
let c4 = <div {...p} key="k"><br /><br /></div>
1919

20+
let c5 = <div {...p} key="k"><br /><br /></div>
21+
22+
// both need to be parsed
23+
let c6 = <A {...(params->Obj.magic)} />
24+
let c7 = <A {...params->Obj.magic} />
25+
2026
@@jsxConfig({version:4, mode: "automatic"})
2127
// Error: spreadProps should be first in order than other props
2228
// let c0 = <A x="x" {...p} />
@@ -34,4 +40,8 @@ let c3 = <div {...p} />
3440

3541
let c4 = <div {...p} x="x" key="k" />
3642

37-
let c5 = <div {...p} key="k"><br /><br /></div>
43+
let c5 = <div {...p} key="k"><br /><br /></div>
44+
45+
// both need to be parsed
46+
let c6 = <A {...(params->Obj.magic)} />
47+
let c7 = <A {...params->Obj.magic} />

0 commit comments

Comments
 (0)