This commit is contained in:
Yamozha
2021-04-02 02:24:13 +03:00
parent c23950b545
commit 7256d79e2c
31493 changed files with 3036630 additions and 0 deletions

View File

@ -0,0 +1,117 @@
'use strict';
var _assignStyle = require('../assignStyle');
var _assignStyle2 = _interopRequireDefault(_assignStyle);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Assinging styles', function () {
it('should merge properties', function () {
expect((0, _assignStyle2.default)({ color: 'red' }, { fontSize: 12 }, { lineHeight: 1 })).toEqual({
color: 'red',
fontSize: 12,
lineHeight: 1
});
});
it('should overwrite properties from right to left', function () {
expect((0, _assignStyle2.default)({ fontSize: 12 }, { fontSize: 16 }, { fontSize: 11 })).toEqual({ fontSize: 11 });
});
it('should merge nested objects', function () {
expect((0, _assignStyle2.default)({
fontSize: 12,
ob2: { color: 'red' },
ob3: { color: 'red' }
}, {
fontSize: 16,
ob2: { fontSize: 12 }
}, {
fontSize: 11,
ob3: { color: 'blue' }
})).toEqual({
fontSize: 11,
ob2: {
color: 'red',
fontSize: 12
},
ob3: { color: 'blue' }
});
});
it('should not overwrite objects other than the first one', function () {
var ob1 = { color: 'red' };
var ob2 = { fontSize: 12 };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({
color: 'red',
fontSize: 12
});
newOb.foo = 'bar';
expect(ob1).toEqual({ color: 'red' });
expect(ob2).toEqual({ fontSize: 12 });
});
it('should use the first object as base', function () {
var ob1 = { color: 'red' };
var ob2 = { fontSize: 12 };
var newOb = (0, _assignStyle2.default)(ob1, ob2);
expect(newOb).toEqual({
color: 'red',
fontSize: 12
});
expect(ob1).toEqual(newOb);
newOb.foo = 'bar';
expect(ob1).toEqual({
color: 'red',
fontSize: 12,
foo: 'bar'
});
});
it('should overwrite previous values when both values are array', function () {
var ob1 = { fontSize: ['10px', '10rem'] };
var ob2 = { fontSize: ['10px', '20vw'] };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({ fontSize: ['10px', '20vw'] });
});
it('should overwrite previous values when only the last value is an array', function () {
var ob1 = { fontSize: 10 };
var ob2 = { fontSize: ['10px', '20vw'] };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({ fontSize: ['10px', '20vw'] });
});
it('should overwrite previous values when only the first value is an array', function () {
var ob1 = { fontSize: ['10px', '10rem'] };
var ob2 = { fontSize: 20 };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({ fontSize: 20 });
});
it('should not recursively call assignStyle for null values', function () {
var ob1 = { fontSize: 10 };
var ob2 = { margin: null };
var newOb = (0, _assignStyle2.default)({}, ob1, ob2);
expect(newOb).toEqual({
fontSize: 10,
margin: null
});
});
});

View File

@ -0,0 +1,15 @@
'use strict';
var _camelCaseProperty = require('../camelCaseProperty');
var _camelCaseProperty2 = _interopRequireDefault(_camelCaseProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Camel casing properties', function () {
it('should camel case properties', function () {
expect((0, _camelCaseProperty2.default)('transition-delay')).toEqual('transitionDelay');
expect((0, _camelCaseProperty2.default)('-webkit-transition-delay')).toEqual('WebkitTransitionDelay');
expect((0, _camelCaseProperty2.default)('-ms-transition')).toEqual('msTransition');
});
});

View File

@ -0,0 +1,15 @@
'use strict';
var _cssifyDeclaration = require('../cssifyDeclaration');
var _cssifyDeclaration2 = _interopRequireDefault(_cssifyDeclaration);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Cssifying declarations', function () {
it('should return a valid css declaration', function () {
expect((0, _cssifyDeclaration2.default)('width', '300px')).toEqual('width:300px');
expect((0, _cssifyDeclaration2.default)('WebkitFlex', '1')).toEqual('-webkit-flex:1');
expect((0, _cssifyDeclaration2.default)('msTransitionDuration', '3s')).toEqual('-ms-transition-duration:3s');
});
});

View File

@ -0,0 +1,31 @@
'use strict';
var _cssifyObject = require('../cssifyObject');
var _cssifyObject2 = _interopRequireDefault(_cssifyObject);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Cssifying objects', function () {
it('should generate a valid CSS string', function () {
expect((0, _cssifyObject2.default)({ color: 'red' })).toEqual('color:red');
});
it('should convert properties to dash case', function () {
expect((0, _cssifyObject2.default)({ fontSize: '12px' })).toEqual('font-size:12px');
});
it('should separate declarations with semicolons', function () {
expect((0, _cssifyObject2.default)({
fontSize: '12px',
color: 'red'
})).toEqual('font-size:12px;color:red');
});
it('should convert vendor prefixes', function () {
expect((0, _cssifyObject2.default)({
WebkitJustifyContent: 'center',
msFlexAlign: 'center'
})).toEqual('-webkit-justify-content:center;-ms-flex-align:center');
});
});

View File

@ -0,0 +1,19 @@
'use strict';
var _isPrefixedProperty = require('../isPrefixedProperty');
var _isPrefixedProperty2 = _interopRequireDefault(_isPrefixedProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Checking for prefixed properties', function () {
it('should return true', function () {
expect((0, _isPrefixedProperty2.default)('WebkitTransition')).toEqual(true);
expect((0, _isPrefixedProperty2.default)('msTransitionDelay')).toEqual(true);
});
it('should return false', function () {
expect((0, _isPrefixedProperty2.default)('transition')).toEqual(false);
expect((0, _isPrefixedProperty2.default)('transitionDelay')).toEqual(false);
});
});

View File

@ -0,0 +1,19 @@
'use strict';
var _isPrefixedValue = require('../isPrefixedValue');
var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Checking for prefixed values', function () {
it('should return true', function () {
expect((0, _isPrefixedValue2.default)('-webkit-calc(100% - 20px)')).toEqual(true);
expect((0, _isPrefixedValue2.default)('-ms-transition')).toEqual(true);
});
it('should return false', function () {
expect((0, _isPrefixedValue2.default)('200px')).toEqual(false);
expect((0, _isPrefixedValue2.default)('calc(100% - 20px)')).toEqual(false);
});
});

View File

@ -0,0 +1,43 @@
'use strict';
var _isUnitlessProperty = require('../isUnitlessProperty');
var _isUnitlessProperty2 = _interopRequireDefault(_isUnitlessProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Checking for unitless CSS properties', function () {
it('should return true for unitless properties', function () {
expect((0, _isUnitlessProperty2.default)('fontWeight')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('flex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('gridColumn')).toEqual(true);
});
it('should return true for hypenated unitless properties', function () {
expect((0, _isUnitlessProperty2.default)('font-weight')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('grid-column')).toEqual(true);
});
it('should return true for prefixed unitless properties', function () {
expect((0, _isUnitlessProperty2.default)('WebkitFlex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('msFlex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('WebkitColumnCount')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('msColumnCount')).toEqual(true);
});
it('should return true for hypenated prefixed unitless properties', function () {
expect((0, _isUnitlessProperty2.default)('-webkit-flex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('-ms-flex')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('-webkit-column-count')).toEqual(true);
expect((0, _isUnitlessProperty2.default)('-ms-column-count')).toEqual(true);
});
it('should equal false for other properties', function () {
expect((0, _isUnitlessProperty2.default)('fontSize')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('font-size')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('-webkit-border-radius')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('-ms-border-radius')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('WebkitBorderRadius')).toEqual(false);
expect((0, _isUnitlessProperty2.default)('msBorderRadius')).toEqual(false);
});
});

View File

@ -0,0 +1,21 @@
'use strict';
var _normalizeProperty = require('../normalizeProperty');
var _normalizeProperty2 = _interopRequireDefault(_normalizeProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Normalizing properties', function () {
it('should camel case hypenated properties', function () {
expect((0, _normalizeProperty2.default)('transition-delay')).toEqual('transitionDelay');
});
it('should unprefix properties', function () {
expect((0, _normalizeProperty2.default)('WebkitTransitionDelay')).toEqual('transitionDelay');
});
it('should unprefix and camel case properties', function () {
expect((0, _normalizeProperty2.default)('-webkit-transition-delay')).toEqual('transitionDelay');
});
});

View File

@ -0,0 +1,17 @@
'use strict';
var _resolveArrayValue = require('../resolveArrayValue');
var _resolveArrayValue2 = _interopRequireDefault(_resolveArrayValue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Resolving array values', function () {
it('should return a concatenated css value', function () {
expect((0, _resolveArrayValue2.default)('width', ['300px', '100px'])).toEqual('300px;width:100px');
});
it('should hyphenate property names', function () {
expect((0, _resolveArrayValue2.default)('WebkitFlex', [1, 2, 3])).toEqual('1;-webkit-flex:2;-webkit-flex:3');
});
});

View File

@ -0,0 +1,19 @@
'use strict';
var _unprefixProperty = require('../unprefixProperty');
var _unprefixProperty2 = _interopRequireDefault(_unprefixProperty);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Unprefixing properties', function () {
it('should unprefix the property', function () {
expect((0, _unprefixProperty2.default)('msFlex')).toEqual('flex');
expect((0, _unprefixProperty2.default)('WebkitFlex')).toEqual('flex');
});
it('should keep an unprefixed property', function () {
expect((0, _unprefixProperty2.default)('flex')).toEqual('flex');
expect((0, _unprefixProperty2.default)('padding')).toEqual('padding');
});
});

View File

@ -0,0 +1,20 @@
'use strict';
var _unprefixValue = require('../unprefixValue');
var _unprefixValue2 = _interopRequireDefault(_unprefixValue);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Unprefixing values', function () {
it('should unprefix the value', function () {
expect((0, _unprefixValue2.default)('-webkit-calc(100% - 20px)')).toEqual('calc(100% - 20px)');
expect((0, _unprefixValue2.default)('-ms-transition')).toEqual('transition');
});
it('should keep an unprefixed value', function () {
expect((0, _unprefixValue2.default)('300px')).toEqual('300px');
expect((0, _unprefixValue2.default)(300)).toEqual(300);
expect((0, _unprefixValue2.default)('calc(100% - 20px)')).toEqual('calc(100% - 20px)');
});
});