/*
* GPII Xrandr Settings Handler Tests
*
* Copyright 2013 Emergya
*
* Licensed under the New BSD license. You may not use this file except in
* compliance with this License.
*
* You may obtain a copy of the License at
* https://github.com/GPII/linux/blob/master/LICENSE.txt
*
* The research leading to these results has received funding from the European Union's
* Seventh Framework Programme (FP7/2007-2013)
* under grant agreement no. 289016.
*/
"use strict";
var fluid = require("universal"),
jqUnit = fluid.require("node-jqunit");
require("xrandr");
var xrandr = fluid.registerNamespace("gpii.xrandr");
jqUnit.module("GPII Xrandr Module");
jqUnit.test("Running tests for Xrandr Bridge", function () {
// Check if all required methods are available through the
// Xrandr Settings Handler.
//
var methods = ["getScreenResolution", "setScreenResolution", "get", "set"];
for (var method in methods) {
jqUnit.assertTrue("Checking availability of method '" + method + "'",
(methods[method] in xrandr));
}
var payload = {
"org.freedesktop.xrandr": [{
settings: {
"screen-resolution": {"width": 800, "height": 600}
}
}]
};
var returnPayload = xrandr.set(payload);
jqUnit.assertDeepEq("The resolution is being setted well",
returnPayload["org.freedesktop.xrandr"][0].settings["screen-resolution"].newValue,
payload["org.freedesktop.xrandr"][0].settings["screen-resolution"]);
var newPayload = fluid.copy(payload);
newPayload["org.freedesktop.xrandr"][0].settings["screen-resolution"] =
returnPayload["org.freedesktop.xrandr"][0].settings["screen-resolution"].oldValue;
var lastPayload = xrandr.set(newPayload);
jqUnit.assertDeepEq("The resolution is being restored well",
returnPayload["org.freedesktop.xrandr"][0].settings["screen-resolution"].oldValue,
lastPayload["org.freedesktop.xrandr"][0].settings["screen-resolution"].newValue);
});
|