diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-deps-subset-of-decls.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-deps-subset-of-decls.expect.md new file mode 100644 index 0000000000..e0eccbccf9 --- /dev/null +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-deps-subset-of-decls.expect.md @@ -0,0 +1,84 @@ + +## Input + +```javascript +import { useState } from "react"; + +function Component() { + const [count, setCount] = useState(0); + return ( +
+ + {/** + * The scope for the +
+ ); +} + +export const FIXTURE_ENTRYPOINT = { + fn: Component, + params: [{}], +}; + +``` + +## Code + +```javascript +import { c as _c } from "react/compiler-runtime"; +import { useState } from "react"; + +function Component() { + const $ = _c(8); + const [count, setCount] = useState(0); + let t0; + let t1; + if ($[0] !== count) { + t0 = ; + + t1 = () => setCount(count + 1); + $[0] = count; + $[1] = t0; + $[2] = t1; + } else { + t0 = $[1]; + t1 = $[2]; + } + let t2; + if ($[3] !== t1) { + t2 = ; + $[3] = t1; + $[4] = t2; + } else { + t2 = $[4]; + } + let t3; + if ($[5] !== t0 || $[6] !== t2) { + t3 = ( +
+ {t0} + {t2} +
+ ); + $[5] = t0; + $[6] = t2; + $[7] = t3; + } else { + t3 = $[7]; + } + return t3; +} + +export const FIXTURE_ENTRYPOINT = { + fn: Component, + params: [{}], +}; + +``` + +### Eval output +(kind: ok)
\ No newline at end of file diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-deps-subset-of-decls.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-deps-subset-of-decls.js new file mode 100644 index 0000000000..71cea01abc --- /dev/null +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/merge-consecutive-scopes-deps-subset-of-decls.js @@ -0,0 +1,21 @@ +import { useState } from "react"; + +function Component() { + const [count, setCount] = useState(0); + return ( +
+ + {/** + * The scope for the +
+ ); +} + +export const FIXTURE_ENTRYPOINT = { + fn: Component, + params: [{}], +};