filestack-adaptive
Version:
HTML5 picture elements powered by Filestack
108 lines (106 loc) • 12.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var utils_1 = tslib_1.__importDefault(require("./utils"));
var assert = tslib_1.__importStar(require("assert"));
describe('utils', function () {
describe('cartesian', function () {
it('should generate a correct array', function () {
var arr = [
[
'webp', 'png',
],
[
'200w', '600w',
],
];
var result = utils_1.default.cartesian(arr);
var expected = [
['webp', '200w'],
['webp', '600w'],
['png', '200w'],
['png', '600w'],
];
assert.deepStrictEqual(result, expected);
});
});
describe('arrToChunks', function () {
it('should slice array into proper chunks', function () {
var arr = [1, 2, 3, 4, 5, 6, 7];
var result = utils_1.default.arrToChunks(arr, 2);
var expected = [
[1, 2],
[3, 4],
[5, 6],
[7],
];
assert.deepStrictEqual(result, expected);
});
});
describe('removeEmpty', function () {
it('should remove falsy values from an object', function () {
var obj = {
a: 52,
b: false,
c: undefined,
d: '',
e: true,
};
var result = utils_1.default.removeEmpty(obj);
var expected = {
a: 52,
e: true,
};
assert.deepStrictEqual(result, expected);
});
});
describe('getNumber', function () {
it('should return initial when it is number', function () {
var value = 542;
var result = utils_1.default.getNumber(value);
var expected = 542;
assert.strictEqual(result, expected);
});
it('should parse string to a number when it is possible', function () {
var value = '542';
var result = utils_1.default.getNumber(value);
var expected = 542;
assert.strictEqual(result, expected);
});
it('should return NaN when it is not possible to parse to number', function () {
var value = 'test';
var result = utils_1.default.getNumber(value);
var expected = NaN;
assert.strictEqual(result, expected);
});
});
describe('getUnit', function () {
it('should properly get unit when it is explicit', function () {
var value = '800w';
var result = utils_1.default.getUnit(value);
var expected = 'w';
assert.strictEqual(result, expected);
});
it('should return px when unit is number', function () {
var value = 800;
var result = utils_1.default.getUnit(value);
var expected = 'px';
assert.strictEqual(result, expected);
});
});
describe('flat', function () {
it('should flat only first level', function () {
var arr = [1, 2, [3, [4, 5]]];
var result = utils_1.default.flat(arr, 1);
var expected = [1, 2, 3, [4, 5]];
assert.deepStrictEqual(result, expected);
});
it('should flat two levels', function () {
var arr = [1, 2, [3, [4, 5]]];
var result = utils_1.default.flat(arr, 2);
var expected = [1, 2, 3, 4, 5];
assert.deepStrictEqual(result, expected);
});
});
});
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUE0QjtBQUM1QixxREFBaUM7QUFFakMsUUFBUSxDQUFDLE9BQU8sRUFBRTtJQUNoQixRQUFRLENBQUMsV0FBVyxFQUFFO1FBQ3BCLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNwQyxJQUFNLEdBQUcsR0FBRztnQkFDVjtvQkFDRSxNQUFNLEVBQUUsS0FBSztpQkFDZDtnQkFDRDtvQkFDRSxNQUFNLEVBQUUsTUFBTTtpQkFDZjthQUNGLENBQUM7WUFDRixJQUFNLE1BQU0sR0FBRyxlQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLElBQU0sUUFBUSxHQUFHO2dCQUNmLENBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBRTtnQkFDbEIsQ0FBRSxNQUFNLEVBQUUsTUFBTSxDQUFFO2dCQUNsQixDQUFFLEtBQUssRUFBRSxNQUFNLENBQUU7Z0JBQ2pCLENBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBRTthQUNsQixDQUFDO1lBQ0YsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDdEIsRUFBRSxDQUFDLHVDQUF1QyxFQUFFO1lBQzFDLElBQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekMsSUFBTSxRQUFRLEdBQUc7Z0JBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNOLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDTixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ04sQ0FBQyxDQUFDLENBQUM7YUFDSixDQUFDO1lBQ0YsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDdEIsRUFBRSxDQUFDLDJDQUEyQyxFQUFFO1lBQzlDLElBQU0sR0FBRyxHQUFHO2dCQUNWLENBQUMsRUFBRSxFQUFFO2dCQUNMLENBQUMsRUFBRSxLQUFLO2dCQUNSLENBQUMsRUFBRSxTQUFTO2dCQUNaLENBQUMsRUFBRSxFQUFFO2dCQUNMLENBQUMsRUFBRSxJQUFJO2FBQ1IsQ0FBQztZQUNGLElBQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBTSxRQUFRLEdBQUc7Z0JBQ2YsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0wsQ0FBQyxFQUFFLElBQUk7YUFDUixDQUFDO1lBQ0YsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyxXQUFXLEVBQUU7UUFDcEIsRUFBRSxDQUFDLHlDQUF5QyxFQUFFO1lBQzVDLElBQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNsQixJQUFNLE1BQU0sR0FBRyxlQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUNyQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxxREFBcUQsRUFBRTtZQUN4RCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxJQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDckIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsOERBQThELEVBQUU7WUFDakUsSUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLElBQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsSUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsU0FBUyxFQUFFO1FBQ2xCLEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRTtZQUNqRCxJQUFNLEtBQUssR0FBRyxNQUFNLENBQUM7WUFDckIsSUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxJQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDckIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsc0NBQXNDLEVBQUU7WUFDekMsSUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDO1lBQ2xCLElBQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQ2YsRUFBRSxDQUFDLDhCQUE4QixFQUFFO1lBQ2pDLElBQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLHdCQUF3QixFQUFFO1lBQzNCLElBQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBTSxNQUFNLEdBQUcsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwiZmlsZSI6InV0aWxzLnNwZWMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuZGVzY3JpYmUoJ3V0aWxzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnY2FydGVzaWFuJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBjb3JyZWN0IGFycmF5JywgKCkgPT4ge1xuICAgICAgY29uc3QgYXJyID0gW1xuICAgICAgICBbXG4gICAgICAgICAgJ3dlYnAnLCAncG5nJyxcbiAgICAgICAgXSxcbiAgICAgICAgW1xuICAgICAgICAgICcyMDB3JywgJzYwMHcnLFxuICAgICAgICBdLFxuICAgICAgXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmNhcnRlc2lhbihhcnIpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSBbXG4gICAgICAgIFsgJ3dlYnAnLCAnMjAwdycgXSxcbiAgICAgICAgWyAnd2VicCcsICc2MDB3JyBdLFxuICAgICAgICBbICdwbmcnLCAnMjAwdycgXSxcbiAgICAgICAgWyAncG5nJywgJzYwMHcnIF0sXG4gICAgICBdO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyZXN1bHQsIGV4cGVjdGVkKTtcbiAgICB9KTtcbiAgfSk7XG4gIGRlc2NyaWJlKCdhcnJUb0NodW5rcycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHNsaWNlIGFycmF5IGludG8gcHJvcGVyIGNodW5rcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFyciA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3XTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmFyclRvQ2h1bmtzKGFyciwgMik7XG4gICAgICBjb25zdCBleHBlY3RlZCA9IFtcbiAgICAgICAgWzEsIDJdLFxuICAgICAgICBbMywgNF0sXG4gICAgICAgIFs1LCA2XSxcbiAgICAgICAgWzddLFxuICAgICAgXTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwocmVzdWx0LCBleHBlY3RlZCk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgncmVtb3ZlRW1wdHknLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZW1vdmUgZmFsc3kgdmFsdWVzIGZyb20gYW4gb2JqZWN0JywgKCkgPT4ge1xuICAgICAgY29uc3Qgb2JqID0ge1xuICAgICAgICBhOiA1MixcbiAgICAgICAgYjogZmFsc2UsXG4gICAgICAgIGM6IHVuZGVmaW5lZCxcbiAgICAgICAgZDogJycsXG4gICAgICAgIGU6IHRydWUsXG4gICAgICB9O1xuICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMucmVtb3ZlRW1wdHkob2JqKTtcbiAgICAgIGNvbnN0IGV4cGVjdGVkID0ge1xuICAgICAgICBhOiA1MixcbiAgICAgICAgZTogdHJ1ZSxcbiAgICAgIH07XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJlc3VsdCwgZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2dldE51bWJlcicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBpbml0aWFsIHdoZW4gaXQgaXMgbnVtYmVyJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSA1NDI7XG4gICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5nZXROdW1iZXIodmFsdWUpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSA1NDI7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBleHBlY3RlZCk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBwYXJzZSBzdHJpbmcgdG8gYSBudW1iZXIgd2hlbiBpdCBpcyBwb3NzaWJsZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gJzU0Mic7XG4gICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5nZXROdW1iZXIodmFsdWUpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSA1NDI7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBleHBlY3RlZCk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gTmFOIHdoZW4gaXQgaXMgbm90IHBvc3NpYmxlIHRvIHBhcnNlIHRvIG51bWJlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gJ3Rlc3QnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuZ2V0TnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGV4cGVjdGVkID0gTmFOO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2dldFVuaXQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBwcm9wZXJseSBnZXQgdW5pdCB3aGVuIGl0IGlzIGV4cGxpY2l0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSAnODAwdyc7XG4gICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5nZXRVbml0KHZhbHVlKTtcbiAgICAgIGNvbnN0IGV4cGVjdGVkID0gJ3cnO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgZXhwZWN0ZWQpO1xuICAgIH0pO1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHB4IHdoZW4gdW5pdCBpcyBudW1iZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IDgwMDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmdldFVuaXQodmFsdWUpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSAncHgnO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2ZsYXQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBmbGF0IG9ubHkgZmlyc3QgbGV2ZWwnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcnIgPSBbMSwgMiwgWzMsIFs0LCA1XV1dO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuZmxhdChhcnIsIDEpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSBbMSwgMiwgMywgWzQsIDVdXTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwocmVzdWx0LCBleHBlY3RlZCk7XG4gICAgfSk7XG4gICAgaXQoJ3Nob3VsZCBmbGF0IHR3byBsZXZlbHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcnIgPSBbMSwgMiwgWzMsIFs0LCA1XV1dO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuZmxhdChhcnIsIDIpO1xuICAgICAgY29uc3QgZXhwZWN0ZWQgPSBbMSwgMiwgMywgNCwgNV07XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJlc3VsdCwgZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19