UNPKG

gpii-universal

Version:

Cross platform, core components of the GPII personalization infrastructure.

124 lines (114 loc) 4.3 kB
/*! System Utils Tests Copyright 2019 OCAD University 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("infusion"), gpii = fluid.registerNamespace("gpii"), jqUnit = fluid.require("node-jqunit", require, "jqUnit"); fluid.require("%flowManager/src/SystemUtils.js"); fluid.registerNamespace("gpii.tests.systemUtils"); gpii.tests.systemUtils.arrayDifferenceTests = [ { "name": "Remove a single element", inputArray: [ "settings.configure1", "settings.configure2", "settings.configure3", { "type": "gpii.windows.updateLanguage", "currentLanguage": "${{registry}.HKEY_CURRENT_USER\\Control Panel\\Desktop\\PreferredUILanguages}" } ], elementsToRemove: "settings.configure2", expected: [ "settings.configure1", "settings.configure3", { "type": "gpii.windows.updateLanguage", "currentLanguage": "${{registry}.HKEY_CURRENT_USER\\Control Panel\\Desktop\\PreferredUILanguages}" } ] }, { "name": "Remove multiple elements", inputArray: [ "settings.configure1", "settings.configure2", "settings.configure3", { "type": "gpii.windows.updateLanguage", "currentLanguage": "${{registry}.HKEY_CURRENT_USER\\Control Panel\\Desktop\\PreferredUILanguages}" } ], elementsToRemove: ["settings.configure2", "settings.configure3"], expected: [ "settings.configure1", { "type": "gpii.windows.updateLanguage", "currentLanguage": "${{registry}.HKEY_CURRENT_USER\\Control Panel\\Desktop\\PreferredUILanguages}" } ] }, { "name": "Remove unfounded elements", inputArray: [ "settings.configure1", "settings.configure2", "settings.configure3", { "type": "gpii.windows.updateLanguage", "currentLanguage": "${{registry}.HKEY_CURRENT_USER\\Control Panel\\Desktop\\PreferredUILanguages}" } ], elementsToRemove: ["unfounded1", "unfounded2"], expected: [ "settings.configure1", "settings.configure2", "settings.configure3", { "type": "gpii.windows.updateLanguage", "currentLanguage": "${{registry}.HKEY_CURRENT_USER\\Control Panel\\Desktop\\PreferredUILanguages}" } ] }, { "name": "The input array stays unchanged when one argument is not provided", inputArray: [ "settings.configure1", "settings.configure2", "settings.configure3", { "type": "gpii.windows.updateLanguage", "currentLanguage": "${{registry}.HKEY_CURRENT_USER\\Control Panel\\Desktop\\PreferredUILanguages}" } ], elementsToRemove: undefined, expected: [ "settings.configure1", "settings.configure2", "settings.configure3", { "type": "gpii.windows.updateLanguage", "currentLanguage": "${{registry}.HKEY_CURRENT_USER\\Control Panel\\Desktop\\PreferredUILanguages}" } ] }, { "name": "Remove element from array in which other items are substring of the element to be removed", inputArray: [ "settings.configure", "settings.configureSecond" ], elementsToRemove: "settings.configureSecond", expected: [ "settings.configure" ] } ]; jqUnit.test("gpii.arrayDifference() tests", function () { fluid.each(gpii.tests.systemUtils.arrayDifferenceTests, function (oneTest) { gpii.arrayDifference(oneTest.inputArray, oneTest.elementsToRemove); jqUnit.assertDeepEq("gpii.arrayDifference() test - " + oneTest.name, oneTest.expected, oneTest.inputArray); }); });