mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Test: unknown hooks should not assert effects
This commit is contained in:
@@ -94,6 +94,7 @@ export async function compile(
|
||||
let panicOnBailout = true;
|
||||
let memoizeJsxElements = true;
|
||||
let enableAssumeHooksFollowRulesOfReact = false;
|
||||
let enableTreatHooksAsFunctions = false;
|
||||
if (firstLine.indexOf("@forgetDirective") !== -1) {
|
||||
enableOnlyOnUseForgetDirective = true;
|
||||
}
|
||||
@@ -124,6 +125,9 @@ export async function compile(
|
||||
if (firstLine.indexOf("@enableAssumeHooksFollowRulesOfReact true") !== -1) {
|
||||
enableAssumeHooksFollowRulesOfReact = true;
|
||||
}
|
||||
if (firstLine.indexOf("@enableTreatHooksAsFunctions true") !== -1) {
|
||||
enableTreatHooksAsFunctions = true;
|
||||
}
|
||||
|
||||
const language = parseLanguage(firstLine);
|
||||
|
||||
@@ -144,6 +148,7 @@ export async function compile(
|
||||
enableAssumeHooksFollowRulesOfReact,
|
||||
inlineUseMemo: true,
|
||||
memoizeJsxElements,
|
||||
enableTreatHooksAsFunctions,
|
||||
},
|
||||
logger: null,
|
||||
gating,
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
## Input
|
||||
|
||||
```javascript
|
||||
// @enableTreatHooksAsFunctions true
|
||||
// (enableAssumeHooksFollowRulesOfReact=false)
|
||||
function Component(props) {
|
||||
const x = useUnknownHook1(props);
|
||||
const y = useUnknownHook2(x);
|
||||
return y;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## Code
|
||||
|
||||
```javascript
|
||||
// @enableTreatHooksAsFunctions true
|
||||
// (enableAssumeHooksFollowRulesOfReact=false)
|
||||
function Component(props) {
|
||||
const x = useUnknownHook1(props);
|
||||
const y = useUnknownHook2(x);
|
||||
return y;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// @enableTreatHooksAsFunctions true
|
||||
// (enableAssumeHooksFollowRulesOfReact=false)
|
||||
function Component(props) {
|
||||
const x = useUnknownHook1(props);
|
||||
const y = useUnknownHook2(x);
|
||||
return y;
|
||||
}
|
||||
@@ -103,6 +103,7 @@ export default function generateTestsFromFixtures(
|
||||
let panicOnBailout = true;
|
||||
let memoizeJsxElements = true;
|
||||
let enableAssumeHooksFollowRulesOfReact = false;
|
||||
let enableTreatHooksAsFunctions = false;
|
||||
|
||||
if (inputFile != null) {
|
||||
input = fs.readFileSync(inputFile, "utf8");
|
||||
@@ -152,6 +153,9 @@ export default function generateTestsFromFixtures(
|
||||
) {
|
||||
enableAssumeHooksFollowRulesOfReact = true;
|
||||
}
|
||||
if (lines[0]!.indexOf("@enableTreatHooksAsFunctions true") !== -1) {
|
||||
enableTreatHooksAsFunctions = true;
|
||||
}
|
||||
}
|
||||
|
||||
testCommand(basename, () => {
|
||||
@@ -162,6 +166,7 @@ export default function generateTestsFromFixtures(
|
||||
inlineUseMemo,
|
||||
memoizeJsxElements,
|
||||
enableAssumeHooksFollowRulesOfReact,
|
||||
enableTreatHooksAsFunctions,
|
||||
},
|
||||
logger: null,
|
||||
debug,
|
||||
|
||||
Reference in New Issue
Block a user