summaryrefslogtreecommitdiffstats
path: root/devtools/client/shared/test/browser_devices.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/shared/test/browser_devices.js')
-rw-r--r--devtools/client/shared/test/browser_devices.js76
1 files changed, 76 insertions, 0 deletions
diff --git a/devtools/client/shared/test/browser_devices.js b/devtools/client/shared/test/browser_devices.js
new file mode 100644
index 0000000000..35a68d2714
--- /dev/null
+++ b/devtools/client/shared/test/browser_devices.js
@@ -0,0 +1,76 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const {
+ getDevices,
+ getDeviceString,
+ addDevice,
+} = require("resource://devtools/client/shared/devices.js");
+
+add_task(async function () {
+ let devices = await getDevices();
+
+ let types = [...devices.keys()];
+ ok(!!types.length, `Found ${types.length} device types.`);
+
+ for (const type of types) {
+ const string = getDeviceString(type);
+ ok(
+ typeof string === "string" &&
+ !!string.length &&
+ string != `device.${type}`,
+ `Able to localize "${type}": "${string}"`
+ );
+
+ ok(
+ !!devices.get(type).length,
+ `Found ${devices.get(type).length} ${type} devices`
+ );
+ }
+
+ const type1 = types[0];
+ const type1DeviceCount = devices.get(type1).length;
+
+ const device1 = {
+ name: "SquarePhone",
+ width: 320,
+ height: 320,
+ pixelRatio: 2,
+ userAgent: "Mozilla/5.0 (Mobile; rv:42.0)",
+ touch: true,
+ firefoxOS: true,
+ };
+ addDevice(device1, types[0]);
+ devices = await getDevices();
+
+ is(
+ devices.get(type1).length,
+ type1DeviceCount + 1,
+ `Added new device of type "${type1}".`
+ );
+ ok(
+ devices.get(type1).find(d => d.name === device1.name),
+ "Found the new device."
+ );
+
+ const type2 = "appliances";
+ const device2 = {
+ name: "Mr Freezer",
+ width: 800,
+ height: 600,
+ pixelRatio: 5,
+ userAgent: "Mozilla/5.0 (Appliance; rv:42.0)",
+ touch: true,
+ firefoxOS: true,
+ };
+
+ const typeCount = types.length;
+ addDevice(device2, type2);
+ devices = await getDevices();
+ types = [...devices.keys()];
+
+ is(types.length, typeCount + 1, `Added device type "${type2}".`);
+ is(devices.get(type2).length, 1, `Added new "${type2}" device`);
+});