UNPKG

@glimmer/util

Version:

Common utilities used in Glimmer

41 lines (35 loc) 4.7 kB
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