summaryrefslogtreecommitdiffstats
path: root/devtools/client/responsive/test/xpcshell/test_change_device.js
blob: f5e3ab7f737036caa109e3ac31bddbbddb528920 (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
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

// Test changing the viewport device.

const {
  addDevice,
  addDeviceType,
} = require("resource://devtools/client/responsive/actions/devices.js");
const {
  addViewport,
  changeDevice,
} = require("resource://devtools/client/responsive/actions/viewports.js");

add_task(async function () {
  const store = Store();
  const { getState, dispatch } = store;

  dispatch(addDeviceType("phones"));
  dispatch(
    addDevice(
      {
        name: "Firefox OS Flame",
        width: 320,
        height: 570,
        pixelRatio: 1.5,
        userAgent: "Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0",
        touch: true,
        firefoxOS: true,
        os: "fxos",
      },
      "phones"
    )
  );
  dispatch(addViewport());

  let viewport = getState().viewports[0];
  equal(viewport.device, "", "Default device is unselected");

  dispatch(changeDevice(0, "Firefox OS Flame", "phones"));

  viewport = getState().viewports[0];
  equal(
    viewport.device,
    "Firefox OS Flame",
    "Changed to Firefox OS Flame device"
  );
});