all files / sync/gpii/node_modules/alsa/nodealsa/ nodealsa_tests.js

100% Statements 11/11
100% Branches 0/0
100% Functions 1/1
100% Lines 11/11
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                                                                               
/*
 * 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"),
    alsa = require("./build/Release/nodealsa.node");
 
jqUnit.module("GPII ALSA Volume Bridge");
 
jqUnit.test("Running tests for ALSA bindings", function () {
    jqUnit.expect(4);
 
    // Check if all required methods are available
    //
    var methods = ["getSystemVolume", "setSystemVolume"];
 
    for (var method in methods) {
        jqUnit.assertTrue("Checking availability of method '" + method + "'",
                          (methods[method] in alsa));
    }
 
    var volume = alsa.getSystemVolume();
 
    jqUnit.assertTrue("Checking 'setSystemVolume' method",
                      alsa.setSystemVolume(0));
 
    jqUnit.assertDeepEq("'getSystemVolume' returns a expected value" +
                        " and 'setSystemVolume' worked as expected",
                        alsa.getSystemVolume(), 0);
 
    // Restore the volume to its previous value
    //
    alsa.setSystemVolume(volume);
 
});