Sha256: 242f86da454be1c7b3b693cbf5f12f67abb0b5ac29e5181ac8dbccf57e4e2622

Contents?: true

Size: 1.88 KB

Versions: 19

Compression:

Stored size: 1.88 KB

Contents

import each from './each';

export function setupDeprecationHandler(test, moment, scope) {
    test._expectedDeprecations = null;
    test._observedDeprecations = null;
    test._oldSupress = moment.suppressDeprecationWarnings;
    moment.suppressDeprecationWarnings = true;
    test.expectedDeprecations = function () {
        test._expectedDeprecations = arguments;
        test._observedDeprecations = [];
    };
    moment.deprecationHandler = function (name, msg) {
        var deprecationId = matchedDeprecation(
            name,
            msg,
            test._expectedDeprecations
        );
        if (deprecationId === -1) {
            throw new Error(
                'Unexpected deprecation thrown name=' + name + ' msg=' + msg
            );
        }
        test._observedDeprecations[deprecationId] = 1;
    };
}

export function teardownDeprecationHandler(test, moment, scope) {
    moment.suppressDeprecationWarnings = test._oldSupress;

    if (test._expectedDeprecations != null) {
        var missedDeprecations = [];
        each(test._expectedDeprecations, function (deprecationPattern, id) {
            if (test._observedDeprecations[id] !== 1) {
                missedDeprecations.push(deprecationPattern);
            }
        });
        if (missedDeprecations.length !== 0) {
            throw new Error(
                'Expected deprecation warnings did not happen: ' +
                    missedDeprecations.join(' ')
            );
        }
    }
}

function matchedDeprecation(name, msg, deprecations) {
    if (deprecations == null) {
        return -1;
    }
    for (var i = 0; i < deprecations.length; ++i) {
        if (name != null && name === deprecations[i]) {
            return i;
        }
        if (
            msg != null &&
            msg.substring(0, deprecations[i].length) === deprecations[i]
        ) {
            return i;
        }
    }
    return -1;
}

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
card-mod-date-0.15.6 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.15.0 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.14.2 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.14.1 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.14.0 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.13.4 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.13.3 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.13.2 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.13.1 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.13.0 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.11.7 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.12.0 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.11.6 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.11.5 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.11.4 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.11.3 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.11.2 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.11.1 vendor/moment/src/test/helpers/deprecation-handler.js
card-mod-date-0.11.0 vendor/moment/src/test/helpers/deprecation-handler.js