Skip to content

Commit a3d4125

Browse files
committed
Add additional test
1 parent 5715bc2 commit a3d4125

File tree

2 files changed

+107
-33
lines changed

2 files changed

+107
-33
lines changed

tests/tests/src/preserve_jsx_test.mjs

Lines changed: 96 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,41 @@ let Icon = {
1616
};
1717

1818
let _single_element_child = <div>
19-
<h1>
20-
{"Hello, world!"}
21-
</h1>
19+
<h1>
20+
{"Hello, world!"}
21+
</h1>
2222
</div>;
2323

2424
let _multiple_element_children = <div>
25-
<h1>
26-
{"Hello, world!"}
27-
</h1>
28-
<Preserve_jsx_test$Icon/>
25+
<h1>
26+
{"Hello, world!"}
27+
</h1>
28+
<Preserve_jsx_test$Icon/>
2929
</div>;
3030

3131
let _single_element_fragment = <>
32-
{Primitive_option.some(<input/>)}
32+
{Primitive_option.some(<input/>)}
3333
</>;
3434

3535
let _multiple_element_fragment = <>
36-
<input type={"text"}/>
37-
<input type={"number"}/>
36+
<input
37+
type={"text"}
38+
/>
39+
<input
40+
type={"number"}
41+
/>
3842
</>;
3943

40-
let _unary_element_with_props = <input className={"foo"} type={"text"}/>;
44+
let _unary_element_with_props = <input
45+
className={"foo"}
46+
type={"text"}
47+
/>;
4148

42-
let _container_element_with_props_and_children = <div className={"foo"} title={"foo"}>
43-
{"Hello, world!"}
49+
let _container_element_with_props_and_children = <div
50+
className={"foo"}
51+
title={"foo"}
52+
>
53+
{"Hello, world!"}
4454
</div>;
4555

4656
let baseProps = {
@@ -50,43 +60,63 @@ let baseProps = {
5060

5161
let newrecord = {...baseProps};
5262

53-
let _unary_element_with_spread_props = <input {...newrecord} type={"text"}/>;
63+
let _unary_element_with_spread_props = <input {...newrecord}
64+
type={"text"}
65+
/>;
5466

5567
let newrecord$1 = {...baseProps};
5668

57-
let _container_with_spread_props = <div {...newrecord$1} title={"barry"} className={"barry"}>
58-
{"Hello, world!"}
59-
<input type={"text"}/>
69+
let _container_with_spread_props = <div {...newrecord$1}
70+
title={"barry"}
71+
className={"barry"}
72+
>
73+
{"Hello, world!"}
74+
<input
75+
type={"text"}
76+
/>
6077
</div>;
6178

6279
let baseChildren = [
6380
<span>
64-
{"Hello, world!"}
81+
{"Hello, world!"}
6582
</span>,
6683
<span>
67-
{"Hello, world!"}
84+
{"Hello, world!"}
6885
</span>
6986
];
7087

71-
let _container_with_spread_children = <div className={"barry"} title={"barry"}>
72-
{baseChildren}
88+
let _container_with_spread_children = <div
89+
className={"barry"}
90+
title={"barry"}
91+
>
92+
{baseChildren}
7393
</div>;
7494

7595
let newrecord$2 = {...baseProps};
7696

77-
let _container_with_spread_props_and_children = <div {...newrecord$2} title={"barry"} className={"barry"}>
78-
{baseChildren}
97+
let _container_with_spread_props_and_children = <div {...newrecord$2}
98+
title={"barry"}
99+
className={"barry"}
100+
>
101+
{baseChildren}
79102
</div>;
80103

81104
let newrecord$3 = {...baseProps};
82105

83-
let _unary_element_with_spread_props_keyed = <input key={"barry-key"} {...newrecord$3} type={"text"}/>;
106+
let _unary_element_with_spread_props_keyed = <input key={"barry-key"} {...newrecord$3}
107+
type={"text"}
108+
/>;
84109

85110
let newrecord$4 = {...baseProps};
86111

87-
let _container_with_spread_props_keyed = <div key={"barry-key"} {...newrecord$4} title={"barry"} className={"barry"}>
88-
{"Hello, world!"}
89-
<input type={"text"}/>
112+
let _container_with_spread_props_keyed = <div key={"barry-key"} {...newrecord$4}
113+
title={"barry"}
114+
className={"barry"}
115+
>
116+
{"Hello, world!"}
117+
<input
118+
type={"text"}
119+
/>
90120
</div>;
91121

92122
let _unary_element_with_only_spread_props = <input {...baseProps} />;
@@ -98,7 +128,7 @@ let A = {};
98128

99129
function Preserve_jsx_test$B(props) {
100130
return <p>
101-
{"Hello, world!"}
131+
{"Hello, world!"}
102132
</p>;
103133
}
104134

@@ -107,22 +137,54 @@ let B = {
107137
};
108138

109139
let _external_component_with_children = <QueryClientProvider>
110-
<strong/>
111-
<Preserve_jsx_test$B/>
140+
<strong/>
141+
<Preserve_jsx_test$B/>
112142
</QueryClientProvider>;
113143

114144
function make(props) {
115145
return <p>
116-
{"foo"}
117-
{props["\\\"MyWeirdProp\""]}
146+
{"foo"}
147+
{props["\\\"MyWeirdProp\""]}
118148
</p>;
119149
}
120150

121151
let MyWeirdComponent = {
122152
make: make
123153
};
124154

125-
let _escaped_jsx_prop = <make MyWeirdProp={"bar"}/>;
155+
let _escaped_jsx_prop = <make
156+
MyWeirdProp={"bar"}
157+
/>;
158+
159+
let _large_component = <div
160+
className={"bar"}
161+
tabIndex={1}
162+
title={"foo"}
163+
onClick={param => {}}
164+
onMouseDown={param => {}}
165+
>
166+
<p
167+
className={"bar"}
168+
tabIndex={1}
169+
title={"foo"}
170+
onClick={param => {}}
171+
onMouseDown={param => {}}
172+
>
173+
{"Hello, world!"}
174+
</p>
175+
<strong
176+
className={"bar"}
177+
tabIndex={1}
178+
title={"foo"}
179+
onClick={param => {}}
180+
onMouseDown={param => {}}
181+
>
182+
{"Hello, world!"}
183+
</strong>
184+
<p>
185+
{5}
186+
</p>
187+
</div>;
126188

127189
export {
128190
React,
@@ -148,5 +210,6 @@ export {
148210
_external_component_with_children,
149211
MyWeirdComponent,
150212
_escaped_jsx_prop,
213+
_large_component,
151214
}
152215
/* _single_element_child Not a pure module */

tests/tests/src/preserve_jsx_test.res

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,3 +167,14 @@ module MyWeirdComponent = {
167167
}
168168

169169
let _escaped_jsx_prop = <MyWeirdComponent \"MyWeirdProp"="bar" />
170+
171+
let _large_component =
172+
<div title="foo" className="bar" tabIndex={1} onClick={_ => ()} onMouseDown={_ => ()}>
173+
<p title="foo" className="bar" tabIndex={1} onClick={_ => ()} onMouseDown={_ => ()}>
174+
{React.string("Hello, world!")}
175+
</p>
176+
<strong title="foo" className="bar" tabIndex={1} onClick={_ => ()} onMouseDown={_ => ()}>
177+
{React.string("Hello, world!")}
178+
</strong>
179+
<p> {React.int(5)} </p>
180+
</div>

0 commit comments

Comments
 (0)