mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
fix(ui-mode): fix issue when updating state while rendering (#33634)
This commit is contained in:
parent
c36b5a6059
commit
37ce53945e
@ -99,11 +99,17 @@ export const TestListView: React.FC<{
|
|||||||
setSelectedTreeItemId(selectedTreeItem.id);
|
setSelectedTreeItemId(selectedTreeItem.id);
|
||||||
}, [runningState, setSelectedTreeItemId, testTree, collapseAllCount, setCollapseAllCount, requestedCollapseAllCount, expandAllCount, setExpandAllCount, requestedExpandAllCount, treeState, setTreeState]);
|
}, [runningState, setSelectedTreeItemId, testTree, collapseAllCount, setCollapseAllCount, requestedCollapseAllCount, expandAllCount, setExpandAllCount, requestedExpandAllCount, treeState, setTreeState]);
|
||||||
|
|
||||||
// Compute selected item.
|
// Compute selected item
|
||||||
const { selectedTreeItem } = React.useMemo(() => {
|
const selectedTreeItem = React.useMemo(() => {
|
||||||
|
if (!selectedTreeItemId)
|
||||||
|
return undefined;
|
||||||
|
return testTree.treeItemById(selectedTreeItemId);
|
||||||
|
}, [selectedTreeItemId, testTree]);
|
||||||
|
|
||||||
|
// Handle selection effects separately
|
||||||
|
React.useEffect(() => {
|
||||||
if (!testModel)
|
if (!testModel)
|
||||||
return { selectedTreeItem: undefined };
|
return;
|
||||||
const selectedTreeItem = selectedTreeItemId ? testTree.treeItemById(selectedTreeItemId) : undefined;
|
|
||||||
const testFile = itemLocation(selectedTreeItem, testModel);
|
const testFile = itemLocation(selectedTreeItem, testModel);
|
||||||
let selectedTest: reporterTypes.TestCase | undefined;
|
let selectedTest: reporterTypes.TestCase | undefined;
|
||||||
if (selectedTreeItem?.kind === 'test')
|
if (selectedTreeItem?.kind === 'test')
|
||||||
@ -111,8 +117,7 @@ export const TestListView: React.FC<{
|
|||||||
else if (selectedTreeItem?.kind === 'case' && selectedTreeItem.tests.length === 1)
|
else if (selectedTreeItem?.kind === 'case' && selectedTreeItem.tests.length === 1)
|
||||||
selectedTest = selectedTreeItem.tests[0];
|
selectedTest = selectedTreeItem.tests[0];
|
||||||
onItemSelected({ treeItem: selectedTreeItem, testCase: selectedTest, testFile });
|
onItemSelected({ treeItem: selectedTreeItem, testCase: selectedTest, testFile });
|
||||||
return { selectedTreeItem };
|
}, [testModel, selectedTreeItem, onItemSelected]);
|
||||||
}, [onItemSelected, selectedTreeItemId, testModel, testTree]);
|
|
||||||
|
|
||||||
// Update watch all.
|
// Update watch all.
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user