summaryrefslogtreecommitdiffstats
path: root/devtools/client/netmonitor/test/browser_net_set-cookie-same-site.js
blob: ecfa4bedcf4a825be853efc40823efd3bfdb55b9 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

/**
 * Test if the 'Same site' cookie attribute is correctly set in the cookie panel
 */
add_task(async function () {
  const { monitor } = await initNetMonitor(SET_COOKIE_SAME_SITE_SJS, {
    requestCount: 1,
  });
  info("Starting test... ");

  const { document, store, windowRequire } = monitor.panelWin;
  const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");

  store.dispatch(Actions.batchEnable(false));

  let wait = waitForNetworkEvents(monitor, 1);
  await reloadBrowser();
  await wait;

  wait = waitForDOM(document, ".headers-overview");
  EventUtils.sendMouseEvent(
    { type: "mousedown" },
    document.querySelectorAll(".request-list-item")[0]
  );
  await wait;

  clickOnSidebarTab(document, "cookies");

  info("Checking the SameSite property");
  const expectedValues = [
    {
      key: "foo",
      value: "",
    },
    {
      key: "samesite",
      value: '"Lax"',
    },
    {
      key: "value",
      value: '"bar"',
    },
    {
      key: "foo",
      value: '"bar"',
    },
  ];
  const labelCells = document.querySelectorAll(".treeLabelCell");
  const valueCells = document.querySelectorAll(".treeValueCell");
  is(
    valueCells.length,
    labelCells.length,
    "Number of labels " +
      labelCells.length +
      " different from number of values " +
      valueCells.length
  );

  // Go through the cookie properties and check if each one has the expected
  // label and value
  for (let index = 0; index < labelCells.length; ++index) {
    is(
      labelCells[index].innerText,
      expectedValues[index].key,
      "Actual label " +
        labelCells[index].innerText +
        " not equal to expected label " +
        expectedValues[index].key
    );
    is(
      valueCells[index].innerText,
      expectedValues[index].value,
      "Actual value " +
        valueCells[index].innerText +
        " not equal to expected value " +
        expectedValues[index].value
    );
  }

  await teardown(monitor);
});