diff --git a/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.todo-reassign-in-while-loop-condition.expect.md b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.todo-reassign-in-while-loop-condition.expect.md new file mode 100644 index 0000000000..94a9cb8000 --- /dev/null +++ b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.todo-reassign-in-while-loop-condition.expect.md @@ -0,0 +1,38 @@ + +## Input + +```javascript +import { makeArray } from "shared-runtime"; + +// @flow +function Component() { + const items = makeArray(0, 1, 2); + let item; + let sum = 0; + while ((item = items.pop())) { + sum += item; + } + return [sum]; +} + +export const FIXTURE_ENTRYPOINT = { + fn: Component, + params: [{}], +}; + +``` + + +## Error + +``` + 6 | let item; + 7 | let sum = 0; +> 8 | while ((item = items.pop())) { + | ^^^^ [ReactForget] Invariant: Unexpected StoreLocal in codegenInstructionValue (8:8) + 9 | sum += item; + 10 | } + 11 | return [sum]; +``` + + \ No newline at end of file diff --git a/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.todo-reassign-in-while-loop-condition.js b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.todo-reassign-in-while-loop-condition.js new file mode 100644 index 0000000000..1bd95da06a --- /dev/null +++ b/compiler/packages/babel-plugin-react-forget/src/__tests__/fixtures/compiler/error.todo-reassign-in-while-loop-condition.js @@ -0,0 +1,17 @@ +import { makeArray } from "shared-runtime"; + +// @flow +function Component() { + const items = makeArray(0, 1, 2); + let item; + let sum = 0; + while ((item = items.pop())) { + sum += item; + } + return [sum]; +} + +export const FIXTURE_ENTRYPOINT = { + fn: Component, + params: [{}], +};