Sha256: c0eea290d0e4dbb7f1dbafa188f93033c6883f6917d20258cecff8001ce3894e

Contents?: true

Size: 1.76 KB

Versions: 27

Compression:

Stored size: 1.76 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

27 entries across 27 versions & 1 rubygems

Version Path
card-1.100.0 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.99.6 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.99.5 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.99.4 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.99.3 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.99.2 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.99.1 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.99.0 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.98.3 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.98.2 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.98.1 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.98.0 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.97.0.1 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.97.0 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.96.8 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.96.7 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.96.6 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.96.5 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.96.4 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js
card-1.96.3 mod/date/vendor/moment/src/test/helpers/deprecation-handler.js