all files / sync/gpii/node_modules/alsa/test/ alsaSettingsHandlerTests.js

100% Statements 16/16
100% Branches 0/0
100% Functions 1/1
100% Lines 16/16
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                                                                                             
/*
    GPII Node.js ALSA Volume Bridge
 
    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("alsa");
var alsa = fluid.registerNamespace("gpii.alsa");
 
jqUnit.module("GPII Node.js ALSA Volume Bridge");
 
jqUnit.test("Running tests for ALSA Settings Handler", function () {
    jqUnit.expect(6);
 
    // Check if all required methods are available through the
    // ALSA Settings Handler.
    //
    var methods = ["getSystemVolume", "setSystemVolume", "get", "set"];
    for (var method in methods) {
        jqUnit.assertTrue("Checking availability of method '" + method + "'",
                          (methods[method] in alsa));
    }
 
    var payload = {
        "org.alsa-project": [{
            settings: {
                "masterVolume": 1
            }
        }]
    };
 
    var returnPayload = alsa.set(payload);
 
    jqUnit.assertDeepEq("The system volume is being setted well",
            returnPayload["org.alsa-project"][0].settings.masterVolume.newValue,
            payload["org.alsa-project"][0].settings.masterVolume);
 
    var newPayload = fluid.copy(payload);
    newPayload["org.alsa-project"][0].settings.masterVolume =
        returnPayload["org.alsa-project"][0].settings.masterVolume.oldValue;
 
    var lastPayload = alsa.set(newPayload);
 
    jqUnit.assertDeepEq("The system volume is being restored well",
            returnPayload["org.alsa-project"][0].settings.masterVolume.oldValue,
            lastPayload["org.alsa-project"][0].settings.masterVolume.newValue);
});