// Copyright 2020 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 {reloadDevTools} from '../../shared/helper.js';
import {describe, it} from '../../shared/mocha-extensions.js';
import {closeSecurityTab, navigateToSecurityTab, openSecurityPanelFromCommandMenu, openSecurityPanelFromMoreTools, securityPanelContentIsLoaded, securityTabDoesNotExist, securityTabExists} from '../helpers/security-helpers.js';

describe('The Security Panel', async () => {
  it('is open by default when devtools initializes', async () => {
    await navigateToSecurityTab();
  });

  it('closes without crashing and stays closed after reloading tools', async () => {
    await closeSecurityTab();
    await reloadDevTools();
    await securityTabDoesNotExist();
  });

  it('appears under More tools after being closed', async () => {
    await closeSecurityTab();
    await openSecurityPanelFromMoreTools();
    await reloadDevTools({selectedPanel: {name: 'security'}});
    await securityTabExists();
  });

  // Test flaky on Windows
  it.skipOnPlatforms(['win32'], '[crbug.com/1183304]: can be opened from command menu after being closed', async () => {
    await closeSecurityTab();
    await openSecurityPanelFromCommandMenu();
  });

  it('opens if the query param "panel" is set', async () => {
    await closeSecurityTab();
    await reloadDevTools({queryParams: {panel: 'security'}});
    await securityTabExists();
    await securityPanelContentIsLoaded();
  });
});

// Copyright 2020 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 {reloadDevTools} from '../../shared/helper.js';
import {describe, it} from '../../shared/mocha-extensions.js';
import {closeSecurityTab, navigateToSecurityTab, openSecurityPanelFromCommandMenu, openSecurityPanelFromMoreTools, securityPanelContentIsLoaded, securityTabDoesNotExist, securityTabExists} from '../helpers/security-helpers.js';

describe('The Security Panel', async () => {
  it('is open by default when devtools initializes', async () => {
    await navigateToSecurityTab();
  });

  it('closes without crashing and stays closed after reloading tools', async () => {
    await closeSecurityTab();
    await reloadDevTools();
    await securityTabDoesNotExist();
  });

  it('appears under More tools after being closed', async () => {
    await closeSecurityTab();
    await openSecurityPanelFromMoreTools();
    await reloadDevTools({selectedPanel: {name: 'security'}});
    await securityTabExists();
  });

  it('can be opened from command menu after being closed', async () => {
    await closeSecurityTab();
    await openSecurityPanelFromCommandMenu();
  });

  it('opens if the query param "panel" is set', async () => {
    await closeSecurityTab();
    await reloadDevTools({queryParams: {panel: 'security'}});
    await securityTabExists();
    await securityPanelContentIsLoaded();
  });
});

Enable a security panel test
Enable a security panel test

Fixed: 1183304
Change-Id: Ib9a5e423d74448428ad7aed8fa1555c449cd0272
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3598791
Reviewed-by: Simon Zünd <38944668e9e2ca98ccd0275b53370f90fa55c113@chromium.org>
Commit-Queue: Alex Rudenko <d8d88e7d7e77f69e23d1d1432231196fb8e02a62@chromium.org>
