import * as units from '../../../packages/svgcanvas/core/units.js' describe('units', function () { /** * Set up tests, supplying mock data. * @returns {void} */ beforeEach(() => { document.body.textContent = '' const anchor = document.createElement('div') anchor.id = 'anchor' anchor.style.visibility = 'hidden' const elementsContainer = document.createElement('div') elementsContainer.id = 'elementsContainer' const uniqueId = document.createElement('div') uniqueId.id = 'uniqueId' uniqueId.style.visibility = 'hidden' const nonUniqueId = document.createElement('div') nonUniqueId.id = 'nonUniqueId' nonUniqueId.style.visibility = 'hidden' elementsContainer.append(uniqueId, nonUniqueId) document.body.append(anchor, elementsContainer) units.init( /** * @implements {module:units.ElementContainer} */ { getBaseUnit () { return 'cm' }, getHeight () { return 600 }, getWidth () { return 800 }, getRoundDigits () { return 4 }, getElement (elementId) { return document.getElementById(elementId) } } ) }) it('Test svgedit.units package', function () { assert.ok(units) assert.equal(typeof units, typeof {}) }) it('Test svgedit.units.shortFloat()', function () { assert.ok(units.shortFloat) assert.equal(typeof units.shortFloat, typeof function () { /* empty fn */ }) const { shortFloat } = units assert.equal(shortFloat(0.00000001), 0) assert.equal(shortFloat(1), 1) assert.equal(shortFloat(3.45678), 3.4568) assert.equal(shortFloat(1.23443), 1.2344) assert.equal(shortFloat(1.23455), 1.2346) }) it('Test svgedit.units.isValidUnit()', function () { assert.ok(units.isValidUnit) assert.equal(typeof units.isValidUnit, typeof function () { /* empty fn */ }) const { isValidUnit } = units assert.ok(isValidUnit('0')) assert.ok(isValidUnit('1')) assert.ok(isValidUnit('1.1')) assert.ok(isValidUnit('-1.1')) assert.ok(isValidUnit('.6mm')) assert.ok(isValidUnit('-.6cm')) assert.ok(isValidUnit('6000in')) assert.ok(isValidUnit('6px')) assert.ok(isValidUnit('6.3pc')) assert.ok(isValidUnit('-0.4em')) assert.ok(isValidUnit('-0.ex')) assert.ok(isValidUnit('40.123%')) assert.equal(isValidUnit('id', 'uniqueId', document.getElementById('uniqueId')), true) assert.equal(isValidUnit('id', 'newId', document.getElementById('uniqueId')), true) assert.equal(isValidUnit('id', 'uniqueId'), false) assert.equal(isValidUnit('id', 'uniqueId', document.getElementById('nonUniqueId')), false) }) it('Test svgedit.units.convertUnit()', function () { assert.ok(units.convertUnit) assert.equal(typeof units.convertUnit, typeof function () { /* empty fn */ }) // cm in default setup assert.equal(units.convertUnit(42), 1.1113) assert.equal(units.convertUnit(42, 'px'), 42) }) })