Skip to content

Commit 447fc27

Browse files
authored
1 parent 850fac4 commit 447fc27

File tree

1 file changed

+26
-6
lines changed

1 file changed

+26
-6
lines changed

packages/react-devtools-inline/__tests__/__e2e__/components.test.js

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ test.describe('Components', () => {
5959
const isEditableValue = semver.gte(config.use.react_version, '16.8.0');
6060

6161
// Then read the inspected values.
62-
const [propName, propValue, sourceText] = await page.evaluate(
62+
const [propName, propValue] = await page.evaluate(
6363
isEditable => {
6464
const {createTestNameSelector, findAllNodes} =
6565
window.REACT_DOM_DEVTOOLS;
@@ -85,21 +85,41 @@ test.describe('Components', () => {
8585
createTestNameSelector('InspectedElementPropsTree'),
8686
createTestNameSelector(selectorValue),
8787
])[0];
88-
const source = findAllNodes(container, [
89-
createTestNameSelector('InspectedElementView-Source'),
90-
])[0];
9188
const value = isEditable.value
9289
? valueElement.value
9390
: valueElement.innerText;
9491

95-
return [name, value, source.innerText];
92+
return [name, value];
9693
},
9794
{name: isEditableName, value: isEditableValue}
9895
);
9996

10097
expect(propName).toBe('label');
10198
expect(propValue).toBe('"one"');
102-
expect(sourceText).toMatch(/e2e-app[a-zA-Z]*\.js/);
99+
});
100+
101+
test('Should allow inspecting source of the element', async () => {
102+
// Source inspection is available only in modern renderer.
103+
runOnlyForReactRange('>=16.8');
104+
105+
// Select the first list item in DevTools.
106+
await devToolsUtils.selectElement(page, 'ListItem', 'List\nApp');
107+
108+
// Then read the inspected values.
109+
const sourceText = await page.evaluate(() => {
110+
const {createTestNameSelector, findAllNodes} = window.REACT_DOM_DEVTOOLS;
111+
const container = document.getElementById('devtools');
112+
113+
const source = findAllNodes(container, [
114+
createTestNameSelector('InspectedElementView-Source'),
115+
])[0];
116+
117+
return source.innerText;
118+
});
119+
120+
// If React version is specified, the e2e-regression.html page will be used
121+
// If not, then e2e.html, see playwright.config.js, how url is constructed
122+
expect(sourceText).toMatch(/e2e-app[\-a-zA-Z]*\.js/);
103123
});
104124

105125
test('should allow props to be edited', async () => {

0 commit comments

Comments
 (0)