mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-07 04:26:32 +08:00
DISABLE_THIRD_PARTY_CHECK=big clang format run against all files in front_end and test/ Bug: 1319340 Change-Id: I1fff63cb07544ccd0e3059fc901f9a48ff4af13b Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3598879 Reviewed-by: Alex Rudenko <alexrudenko@chromium.org> Commit-Queue: Jack Franklin <jacktfranklin@chromium.org> Reviewed-by: Wolfgang Beyer <wolfi@chromium.org>
130 lines
5.6 KiB
TypeScript
130 lines
5.6 KiB
TypeScript
// Copyright 2021 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import {assert} from 'chai';
|
|
|
|
import {assertNotNullOrUndefined, goToResource, waitFor} from '../../shared/helper.js';
|
|
import {describe, it} from '../../shared/mocha-extensions.js';
|
|
import {
|
|
getHiddenIssuesRow,
|
|
getHiddenIssuesRowBody,
|
|
getHideIssuesMenu,
|
|
getHideIssuesMenuItem,
|
|
getIssueHeaderByTitle,
|
|
ISSUE,
|
|
navigateToIssuesTab,
|
|
} from '../helpers/issues-helpers.js';
|
|
|
|
describe('Hide issues row', async () => {
|
|
it('should be visible after hiding an issue', async () => {
|
|
await goToResource('issues/cross-origin-portal-post.html');
|
|
await navigateToIssuesTab();
|
|
|
|
const issueTitle = 'Cross-origin portal post messages are blocked on your site';
|
|
const issueHeader = await getIssueHeaderByTitle(issueTitle);
|
|
assertNotNullOrUndefined(issueHeader);
|
|
await issueHeader.hover();
|
|
const hideIssuesMenuBtn = await getHideIssuesMenu();
|
|
await hideIssuesMenuBtn.click();
|
|
const menuItem = await getHideIssuesMenuItem();
|
|
assertNotNullOrUndefined(menuItem);
|
|
await menuItem.click();
|
|
await waitFor('.hidden-issue');
|
|
const hiddenIssuesRow = await getHiddenIssuesRow();
|
|
const isHidden = await hiddenIssuesRow?.evaluate(node => node.classList.contains('hidden'));
|
|
assert.isFalse(isHidden);
|
|
});
|
|
it('should expand after clicking', async () => {
|
|
await goToResource('issues/cross-origin-portal-post.html');
|
|
await navigateToIssuesTab();
|
|
|
|
const issueTitle = 'Cross-origin portal post messages are blocked on your site';
|
|
const issueHeader = await getIssueHeaderByTitle(issueTitle);
|
|
assertNotNullOrUndefined(issueHeader);
|
|
await issueHeader.hover();
|
|
const hideIssuesMenuBtn = await getHideIssuesMenu();
|
|
await hideIssuesMenuBtn.click();
|
|
const menuItem = await getHideIssuesMenuItem();
|
|
assertNotNullOrUndefined(menuItem);
|
|
await menuItem.click();
|
|
const hiddenIssuesRow = await getHiddenIssuesRow();
|
|
let isHidden = await hiddenIssuesRow?.evaluate(node => node.classList.contains('hidden'));
|
|
assert.isFalse(isHidden);
|
|
await hiddenIssuesRow?.click();
|
|
const hiddenIssuesRowBody = await getHiddenIssuesRowBody();
|
|
isHidden = await hiddenIssuesRowBody?.evaluate(node => node.classList.contains('hidden'));
|
|
assert.isFalse(isHidden);
|
|
const classes = await hiddenIssuesRow?.evaluate(node => node.classList.toString());
|
|
assert.include(classes, 'expanded');
|
|
});
|
|
|
|
it('should contain issue after clicking', async () => {
|
|
await goToResource('issues/cross-origin-portal-post.html');
|
|
await navigateToIssuesTab();
|
|
|
|
const issueTitle = 'Cross-origin portal post messages are blocked on your site';
|
|
const issueHeader = await getIssueHeaderByTitle(issueTitle);
|
|
assertNotNullOrUndefined(issueHeader);
|
|
await issueHeader.hover();
|
|
const hideIssuesMenuBtn = await getHideIssuesMenu();
|
|
await hideIssuesMenuBtn.click();
|
|
const menuItem = await getHideIssuesMenuItem();
|
|
assertNotNullOrUndefined(menuItem);
|
|
await menuItem.click();
|
|
await waitFor('.hidden-issue');
|
|
const hiddenIssuesRow = await getHiddenIssuesRow();
|
|
let isHidden = await hiddenIssuesRow?.evaluate(node => node.classList.contains('hidden'));
|
|
assert.isFalse(isHidden);
|
|
await hiddenIssuesRow?.click();
|
|
const hiddenIssuesRowBody = await getHiddenIssuesRowBody();
|
|
isHidden = await hiddenIssuesRowBody?.evaluate(node => node.classList.contains('hidden'));
|
|
assert.isFalse(isHidden);
|
|
const firstChild = await hiddenIssuesRowBody?.$eval('.issue', node => node.classList.toString());
|
|
assertNotNullOrUndefined(firstChild);
|
|
assert.include(firstChild, 'hidden-issue');
|
|
});
|
|
|
|
it('should contain Unhide all issues button', async () => {
|
|
await goToResource('issues/cross-origin-portal-post.html');
|
|
await navigateToIssuesTab();
|
|
|
|
const issueTitle = 'Cross-origin portal post messages are blocked on your site';
|
|
const issueHeader = await getIssueHeaderByTitle(issueTitle);
|
|
assertNotNullOrUndefined(issueHeader);
|
|
await issueHeader.hover();
|
|
const hideIssuesMenuBtn = await getHideIssuesMenu();
|
|
await hideIssuesMenuBtn.click();
|
|
const menuItem = await getHideIssuesMenuItem();
|
|
assertNotNullOrUndefined(menuItem);
|
|
await menuItem.click();
|
|
const hiddenIssuesRow = await getHiddenIssuesRow();
|
|
const isHidden = await hiddenIssuesRow?.evaluate(node => node.classList.contains('hidden'));
|
|
assert.isFalse(isHidden);
|
|
const hasUnhideAllIssuesBtn = await hiddenIssuesRow?.evaluate(
|
|
node => node.lastElementChild?.lastElementChild?.classList.contains('unhide-all-issues-button'));
|
|
assert.isTrue(hasUnhideAllIssuesBtn);
|
|
});
|
|
|
|
it('should get hidden and unhide all issues upon clicking unhide all issues button', async () => {
|
|
await goToResource('issues/cross-origin-portal-post.html');
|
|
await navigateToIssuesTab();
|
|
|
|
const issueTitle = 'Cross-origin portal post messages are blocked on your site';
|
|
const issueHeader = await getIssueHeaderByTitle(issueTitle);
|
|
assertNotNullOrUndefined(issueHeader);
|
|
await issueHeader.hover();
|
|
const hideIssuesMenuBtn = await getHideIssuesMenu();
|
|
await hideIssuesMenuBtn.click();
|
|
const menuItem = await getHideIssuesMenuItem();
|
|
assertNotNullOrUndefined(menuItem);
|
|
await menuItem.click();
|
|
const unhideAllIssuesbtn = await waitFor('.unhide-all-issues-button');
|
|
await unhideAllIssuesbtn.click();
|
|
const hiddenIssuesRow = await getHiddenIssuesRow();
|
|
const isHidden = await hiddenIssuesRow?.evaluate(node => node.classList.contains('hidden'));
|
|
assert.isTrue(isHidden);
|
|
await waitFor(ISSUE);
|
|
});
|
|
});
|