all files / tests/ util_test.js

100% Statements 13/13
100% Branches 0/0
100% Functions 8/8
100% Lines 13/13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                               
import {assert} from 'chai';
 
import {flattenDeep, kebabifyStyleName} from '../src/util.js';
 
describe('Utils', () => {
    describe('flattenDeep', () => {
        it('flattens arrays at any level', () => {
            assert.deepEqual(
                flattenDeep([[1, [2, 3, []]], 4, [[5], [6, [7]]]]),
                [1, 2, 3, 4, 5, 6, 7]);
        });
    });
 
    describe('kebabifyStyleName', () => {
        it('kebabifies camelCase', () => {
            assert.equal(kebabifyStyleName('fooBarBaz'), 'foo-bar-baz');
        });
        it('kebabifies PascalCase', () => {
            assert.equal(kebabifyStyleName('FooBarBaz'), '-foo-bar-baz');
        });
        it('does not force -webkit-', () => {
            assert.equal(kebabifyStyleName('webkitFooBarBaz'), 'webkit-foo-bar-baz');
        });
        it('forces -ms-', () => {
            assert.equal(kebabifyStyleName('msFooBarBaz'), '-ms-foo-bar-baz');
        });
    });
});