all files / displaySettingsHandler/test/ testDisplaySettingsHandler.js

100% Statements 35/35
100% Branches 0/0
100% Functions 6/6
100% Lines 35/35
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                                                                         
/*
 * Windows Display Settings Handler Tests
 *
 * Copyright 2016 Raising the Floor - US
 *
 * 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/universal/blob/master/LICENSE.txt
 */
 
"use strict";
 
var fluid = require("universal");
 
var jqUnit = fluid.require("node-jqunit");
var gpii = fluid.registerNamespace("gpii");
 
require("../../WindowsUtilities/WindowsUtilities.js");
require("../src/displaySettingsHandler.js");
 
jqUnit.module("Windows Display Settings Handler Tests");
 
jqUnit.test("Testing GetScreenResolution", function () {
    jqUnit.expect(3);
    var screenRes = gpii.windows.display.getScreenResolution();
    jqUnit.assertDeepEq("getScreenResolution returns an object", "object", typeof(screenRes));
    jqUnit.assertDeepEq("value for width is a number", "number", typeof(screenRes.width));
    jqUnit.assertDeepEq("value for height is a number", "number", typeof(screenRes.height));
});
 
jqUnit.test("Testing setScreenResolution ", function () {
    var oldRes = gpii.windows.display.getScreenResolution();
 
    // We can change resolution
    // Not such a good unit test as depends on available modes and current screen resolution
    jqUnit.expect(2);
    var targetRes = { width: 800, height: 600 };
    jqUnit.assertTrue("We can call to setScreenResolution, it returns 'true'", gpii.windows.display.setScreenResolution(targetRes));
    var newRes = gpii.windows.display.getScreenResolution();
    jqUnit.assertDeepEq("New resolution is set", targetRes, newRes);
 
    // Restore old resolution
    jqUnit.expect(2);
    jqUnit.assertTrue("Resetting to old resolution", gpii.windows.display.setScreenResolution(oldRes));
    var restoredRes = gpii.windows.display.getScreenResolution();
    jqUnit.assertDeepEq("Old resolution appear to be restored", oldRes, restoredRes);
 
    // test can't change to invalid resolution
    var badRes = { width: -123, height: -123 };
    jqUnit.expectFrameworkDiagnostic("setScreenResolution fails when receives an invalid resolution such as {w: -123, h: -123}", function () {
        gpii.windows.display.setScreenResolution(badRes);
    }, "invalid screen resolution");
 
    // test that setScreenResolution fails when it receives a faulty screen resolution
    var faulty1 = 2;
    jqUnit.expectFrameworkDiagnostic("setScreenResolution fails when receives a non-object parameter", function () {
        gpii.windows.display.setScreenResolution(faulty1);
    }, "invalid screen resolution");
 
    var faulty2 = { w: 0, h: 1 };
    jqUnit.expectFrameworkDiagnostic("setScreenResolution fails when receives a wrong object", function () {
        gpii.windows.display.setScreenResolution(faulty2);
    }, ["invalid screen resolution"]);
 
    var faulty3 = { width: 0, height: "" };
    jqUnit.expectFrameworkDiagnostic("setScreenResolution fails when receives one string as value for height", function () {
        gpii.windows.display.setScreenResolution(faulty3);
    }, "invalid screen resolution");
});