Skip to content

Commit 3c19ede

Browse files
committed
add additional tests
1 parent 210c218 commit 3c19ede

File tree

3 files changed

+128
-0
lines changed

3 files changed

+128
-0
lines changed

test/snapshots/test.ts.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,3 +134,44 @@ Generated by [AVA](https://avajs.dev).
134134
onPress␊
135135
};␊
136136
};`
137+
138+
## Singular Binary Expressions
139+
140+
> Snapshot 1
141+
142+
`import React from "react";␊
143+
export default function App() {␊
144+
const [count, setCount] = React.useState(1);␊
145+
146+
const handleClick = () => {␊
147+
setCount(count + 1);␊
148+
setCount(count * 2);␊
149+
};␊
150+
151+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", null, count), /*#__PURE__*/React.createElement("button", {␊
152+
onClick: handleClick␊
153+
}, "Click"));␊
154+
}`
155+
156+
## Object Update
157+
158+
> Snapshot 1
159+
160+
`import * as React from "react";␊
161+
162+
function App() {␊
163+
const [user, setUser] = React.useState({␊
164+
name: "reaper"␊
165+
});␊
166+
167+
const updateUser = () => {␊
168+
const x = { ...user␊
169+
};␊
170+
x.name = "barelyhuman";␊
171+
setUser(x);␊
172+
};␊
173+
174+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, user.name), /*#__PURE__*/React.createElement("button", {␊
175+
onClick: updateUser␊
176+
}, "Click Me"));␊
177+
}`

test/snapshots/test.ts.snap

252 Bytes
Binary file not shown.

test/test.ts

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,90 @@ test('Hook Function and useEffect dep', (t) => {
166166
}
167167
t.snapshot(result.code)
168168
})
169+
170+
test('Singular Binary Expressions', (t) => {
171+
const code = `
172+
import React from "react";
173+
174+
export default function App() {
175+
let $count = 1;
176+
177+
const handleClick = () => {
178+
$count = $count + 1;
179+
$count = $count * 2;
180+
};
181+
182+
return (
183+
<div>
184+
<h1>{$count}</h1>
185+
<button onClick={handleClick}>Click</button>
186+
</div>
187+
);
188+
}
189+
`
190+
const result = compile(code)
191+
if (!result) {
192+
return t.fail()
193+
}
194+
t.snapshot(result.code)
195+
})
196+
197+
test('Object Update', (t) => {
198+
const code = `
199+
import * as React from "react";
200+
201+
function App() {
202+
let $user = { name: "reaper" };
203+
const updateUser = () => {
204+
const x = {
205+
...$user
206+
};
207+
x.name = "barelyhuman";
208+
$user = x;
209+
};
210+
return (
211+
<>
212+
<p>{$user.name}</p>
213+
<button onClick={updateUser}>Click Me</button>
214+
</>
215+
);
216+
}
217+
`
218+
219+
const result = compile(code)
220+
if (!result) {
221+
return t.fail()
222+
}
223+
t.snapshot(result.code)
224+
})
225+
226+
test('Array Update', (t) => {
227+
const code = `
228+
import * as React from "react";
229+
230+
function App() {
231+
let $users = [{ name: "reaper" }];
232+
233+
const updateUser = () => {
234+
const _nextUsers =$users.slice();
235+
_nextUsers[0].name = "barelyhuman"
236+
$user = _nextUsers;
237+
};
238+
239+
return (
240+
<>
241+
{$users.map(user=>{
242+
return <p>{user.name}</p>
243+
})}
244+
<button onClick={updateUser}>Click Me</button>
245+
</>
246+
);
247+
}
248+
`
249+
250+
const result = compile(code)
251+
if (!result) {
252+
return t.fail()
253+
}
254+
t.snapshot(result.code)
255+
})

0 commit comments

Comments
 (0)