summaryrefslogtreecommitdiffstats
path: root/devtools/client/performance/test/browser_perf-refresh.js
blob: bea41c5fc69eb1180824d779a6cdb169a9fcce6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";

/**
 * Rough test that the recording still continues after a refresh.
 */

const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls");
const {
  initPerformanceInNewTab,
  teardownToolboxAndRemoveTab,
} = require("devtools/client/performance/test/helpers/panel-utils");
const {
  startRecording,
  stopRecording,
  reload,
} = require("devtools/client/performance/test/helpers/actions");
const {
  waitUntil,
} = require("devtools/client/performance/test/helpers/wait-utils");

add_task(async function() {
  const { panel, target } = await initPerformanceInNewTab({
    url: SIMPLE_URL,
    win: window,
  });

  const { PerformanceController } = panel.panelWin;

  await startRecording(panel);
  await reload(target);

  const recording = PerformanceController.getCurrentRecording();
  const markersLength = recording.getAllData().markers.length;

  ok(
    recording.isRecording(),
    "RecordingModel should still be recording after reload"
  );

  await waitUntil(() => recording.getMarkers().length > markersLength);
  ok(true, "Markers continue after reload.");

  await stopRecording(panel);
  await teardownToolboxAndRemoveTab(panel);
});