Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  idle_override.spec.ts   Sprache: unbekannt

 
/**
 * @license
 * Copyright 2020 Google Inc.
 * SPDX-License-Identifier: Apache-2.0
 */

import expect from 'expect';
import type {ElementHandle} from 'puppeteer-core/internal/api/ElementHandle.js';
import type {Page} from 'puppeteer-core/internal/api/Page.js';

import {getTestState, setupTestBrowserHooks} from './mocha-utils.js';

describe('Emulate idle state', () => {
  setupTestBrowserHooks();

  async function getIdleState(page: Page) {
    using stateElement = (await page.$('#state')) as ElementHandle<HTMLElement>;
    return await page.evaluate(element => {
      return element.innerText;
    }, stateElement);
  }

  async function verifyState(page: Page, expectedState: string) {
    const actualState = await getIdleState(page);
    expect(actualState).toEqual(expectedState);
  }

  it('changing idle state emulation causes change of the IdleDetector state', async () => {
    const {page, server, context} = await getTestState();
    await context.overridePermissions(server.PREFIX + '/idle-detector.html', [
      'idle-detection',
    ]);

    await page.goto(server.PREFIX + '/idle-detector.html');

    // Store initial state, as soon as it is not guaranteed to be `active, unlocked`.
    const initialState = await getIdleState(page);

    // Emulate Idle states and verify IdleDetector updates state accordingly.
    await page.emulateIdleState({
      isUserActive: false,
      isScreenUnlocked: false,
    });
    await verifyState(page, 'Idle state: idle, locked.');

    await page.emulateIdleState({
      isUserActive: true,
      isScreenUnlocked: false,
    });
    await verifyState(page, 'Idle state: active, locked.');

    await page.emulateIdleState({
      isUserActive: true,
      isScreenUnlocked: true,
    });
    await verifyState(page, 'Idle state: active, unlocked.');

    await page.emulateIdleState({
      isUserActive: false,
      isScreenUnlocked: true,
    });
    await verifyState(page, 'Idle state: idle, unlocked.');

    // Remove Idle emulation and verify IdleDetector is in initial state.
    await page.emulateIdleState();
    await verifyState(page, initialState);

    // Emulate idle state again after removing emulation.
    await page.emulateIdleState({
      isUserActive: false,
      isScreenUnlocked: false,
    });
    await verifyState(page, 'Idle state: idle, locked.');

    // Remove emulation second time.
    await page.emulateIdleState();
    await verifyState(page, initialState);
  });
});

[ Dauer der Verarbeitung: 0.25 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge