@glimmer/util
Version:
Common utilities used in Glimmer
41 lines (35 loc) • 4.7 kB
JavaScript
import assert from './assert';
import { expect } from './platform-utils';
export let beginTestSteps;
export let endTestSteps;
export let verifySteps;
export let logStep;
if (false
/* LOCAL_DEBUG */
) {
let LOGGED_STEPS = null;
beginTestSteps = () => {
assert(LOGGED_STEPS === null, 'attempted to start steps, but it already began');
LOGGED_STEPS = {};
};
endTestSteps = () => {
assert(LOGGED_STEPS, 'attempted to end steps, but they were not started');
LOGGED_STEPS = null;
};
logStep = (type, step) => {
if (LOGGED_STEPS === null) return;
LOGGED_STEPS[type] = LOGGED_STEPS[type] || [];
LOGGED_STEPS[type].push(step);
};
verifySteps = (type, expectedSteps, message) => {
let loggedSteps = expect(LOGGED_STEPS, 'attempetd to verify steps, but steps were not started');
let steps = loggedSteps[type] || [];
loggedSteps[type] = [];
if (Array.isArray(expectedSteps)) {
QUnit.config.current.assert.deepEqual(steps, expectedSteps, message);
} else {
expectedSteps(steps);
}
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3V0aWwvbGliL2RlYnVnLXN0ZXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sTUFBUCxNQUFtQixVQUFuQjtBQUNBLFNBQVMsTUFBVCxRQUF1QixrQkFBdkI7QUFFQSxPQUFPLElBQUksY0FBSjtBQUNQLE9BQU8sSUFBSSxZQUFKO0FBRVAsT0FBTyxJQUFJLFdBQUo7QUFHUCxPQUFPLElBQUksT0FBSjs7QUFFUDtBQUFBO0FBQUEsRUFBaUI7QUFDZixNQUFJLFlBQVksR0FBcUMsSUFBckQ7O0FBRUEsRUFBQSxjQUFjLEdBQUcsTUFBSztBQUNwQixJQUFBLE1BQU0sQ0FBQyxZQUFZLEtBQUssSUFBbEIsRUFBd0IsZ0RBQXhCLENBQU47QUFFQSxJQUFBLFlBQVksR0FBRyxFQUFmO0FBQ0QsR0FKRDs7QUFNQSxFQUFBLFlBQVksR0FBRyxNQUFLO0FBQ2xCLElBQUEsTUFBTSxDQUFDLFlBQUQsRUFBZSxtREFBZixDQUFOO0FBRUEsSUFBQSxZQUFZLEdBQUcsSUFBZjtBQUNELEdBSkQ7O0FBTUEsRUFBQSxPQUFPLEdBQUcsQ0FBQyxJQUFELEVBQWUsSUFBZixLQUFnQztBQUN4QyxRQUFJLFlBQVksS0FBSyxJQUFyQixFQUEyQjtBQUUzQixJQUFBLFlBQVksQ0FBQyxJQUFELENBQVosR0FBcUIsWUFBWSxDQUFDLElBQUQsQ0FBWixJQUFzQixFQUEzQztBQUNBLElBQUEsWUFBWSxDQUFDLElBQUQsQ0FBWixDQUFtQixJQUFuQixDQUF3QixJQUF4QjtBQUNELEdBTEQ7O0FBT0EsRUFBQSxXQUFXLEdBQUcsQ0FDWixJQURZLEVBRVosYUFGWSxFQUdaLE9BSFksS0FJVjtBQUNGLFFBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxZQUFELEVBQWUsdURBQWYsQ0FBeEI7QUFFQSxRQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBRCxDQUFYLElBQXFCLEVBQWpDO0FBRUEsSUFBQSxXQUFXLENBQUMsSUFBRCxDQUFYLEdBQW9CLEVBQXBCOztBQUVBLFFBQUksS0FBSyxDQUFDLE9BQU4sQ0FBYyxhQUFkLENBQUosRUFBa0M7QUFDaEMsTUFBQSxLQUFLLENBQUMsTUFBTixDQUFhLE9BQWIsQ0FBcUIsTUFBckIsQ0FBNEIsU0FBNUIsQ0FBc0MsS0FBdEMsRUFBNkMsYUFBN0MsRUFBNEQsT0FBNUQ7QUFDRCxLQUZELE1BRU87QUFDTCxNQUFBLGFBQWEsQ0FBQyxLQUFELENBQWI7QUFDRDtBQUNGLEdBaEJEO0FBaUJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTE9DQUxfREVCVUcgfSBmcm9tICdAZ2xpbW1lci9sb2NhbC1kZWJ1Zy1mbGFncyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJy4vYXNzZXJ0JztcbmltcG9ydCB7IGV4cGVjdCB9IGZyb20gJy4vcGxhdGZvcm0tdXRpbHMnO1xuXG5leHBvcnQgbGV0IGJlZ2luVGVzdFN0ZXBzOiAoKCkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5leHBvcnQgbGV0IGVuZFRlc3RTdGVwczogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgbGV0IHZlcmlmeVN0ZXBzOlxuICB8ICgodHlwZTogc3RyaW5nLCBzdGVwczogdW5rbm93bltdIHwgKChzdGVwczogdW5rbm93bltdKSA9PiB2b2lkKSwgbWVzc2FnZT86IHN0cmluZykgPT4gdm9pZClcbiAgfCB1bmRlZmluZWQ7XG5leHBvcnQgbGV0IGxvZ1N0ZXA6ICgodHlwZTogc3RyaW5nLCBzdGVwczogdW5rbm93bikgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cbmlmIChMT0NBTF9ERUJVRykge1xuICBsZXQgTE9HR0VEX1NURVBTOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duW10+IHwgbnVsbCA9IG51bGw7XG5cbiAgYmVnaW5UZXN0U3RlcHMgPSAoKSA9PiB7XG4gICAgYXNzZXJ0KExPR0dFRF9TVEVQUyA9PT0gbnVsbCwgJ2F0dGVtcHRlZCB0byBzdGFydCBzdGVwcywgYnV0IGl0IGFscmVhZHkgYmVnYW4nKTtcblxuICAgIExPR0dFRF9TVEVQUyA9IHt9O1xuICB9O1xuXG4gIGVuZFRlc3RTdGVwcyA9ICgpID0+IHtcbiAgICBhc3NlcnQoTE9HR0VEX1NURVBTLCAnYXR0ZW1wdGVkIHRvIGVuZCBzdGVwcywgYnV0IHRoZXkgd2VyZSBub3Qgc3RhcnRlZCcpO1xuXG4gICAgTE9HR0VEX1NURVBTID0gbnVsbDtcbiAgfTtcblxuICBsb2dTdGVwID0gKHR5cGU6IHN0cmluZywgc3RlcDogdW5rbm93bikgPT4ge1xuICAgIGlmIChMT0dHRURfU1RFUFMgPT09IG51bGwpIHJldHVybjtcblxuICAgIExPR0dFRF9TVEVQU1t0eXBlXSA9IExPR0dFRF9TVEVQU1t0eXBlXSB8fCBbXTtcbiAgICBMT0dHRURfU1RFUFNbdHlwZV0ucHVzaChzdGVwKTtcbiAgfTtcblxuICB2ZXJpZnlTdGVwcyA9IChcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgZXhwZWN0ZWRTdGVwczogdW5rbm93bltdIHwgKChzdGVwczogdW5rbm93bltdKSA9PiB2b2lkKSxcbiAgICBtZXNzYWdlPzogc3RyaW5nXG4gICkgPT4ge1xuICAgIGxldCBsb2dnZWRTdGVwcyA9IGV4cGVjdChMT0dHRURfU1RFUFMsICdhdHRlbXBldGQgdG8gdmVyaWZ5IHN0ZXBzLCBidXQgc3RlcHMgd2VyZSBub3Qgc3RhcnRlZCcpO1xuXG4gICAgbGV0IHN0ZXBzID0gbG9nZ2VkU3RlcHNbdHlwZV0gfHwgW107XG5cbiAgICBsb2dnZWRTdGVwc1t0eXBlXSA9IFtdO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXhwZWN0ZWRTdGVwcykpIHtcbiAgICAgIFFVbml0LmNvbmZpZy5jdXJyZW50LmFzc2VydC5kZWVwRXF1YWwoc3RlcHMsIGV4cGVjdGVkU3RlcHMsIG1lc3NhZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHBlY3RlZFN0ZXBzKHN0ZXBzKTtcbiAgICB9XG4gIH07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9