HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/magento.bikenow.co/dev/tests/js/jasmine/assets/tools.js
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
define([
    'underscore'
], function (_) {
    'use strict';

    return {
        /**
         * Processes configuration for a testsuite.
         *
         * @param {(Object|String)} config - Suite configuration.
         * @param {Object} tmplMap - Template map for test cases.
         */
        init: function (config, tmplMap) {
            var preset;

            if (_.isString(config)) {
                preset = JSON.parse(config);
            }

            this.applyBase(preset);

            if (tmplMap) {
                this.applyTmpls(preset, tmplMap);
            }

            return preset;
        },

        /**
         * Extends first levell properties of provided object
         * with a default configuration.
         *
         * @param {Object} data - Object to be modified.
         */
        applyBase: function (data) {
            var base = data.base = data.base || {};

            _.each(data, function (item) {
                _.defaults(item, base);
            });
        },

        /**
         * Renderes template based on template map and a source data.
         *
         * @param {Object} source - Data for a lookup.
         * @param {Object} map - Template map.
         */
        applyTmpls: function (source, map) {
            _.each(map, function (tmpl, suite) {
                suite = source[suite];

                suite.tmpl = _.template(tmpl)(suite);
            });
        },

        /**
         * Removes element by provided id.
         *
         * @param {String} id - Id of the element.
         */
        removeContainer: function (id) {
            var node = document.getElementById(id);

            if (node) {
                node.parentNode.removeChild(node);
            }
        }
    };
});