stylesheet-loader
Version:
Stylesheet loader.
113 lines • 5.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var particular_1 = require("../particular");
describe('particular', function () {
function testBorder(methodName) {
var borderResult = particular_1.default[methodName]('1 solid red');
expect(borderResult[methodName + "Width"]).toEqual(1);
expect(borderResult[methodName + "Style"]).toEqual('solid');
expect(borderResult[methodName + "Color"]).toEqual('red');
}
function testMeasure(key) {
var result = particular_1.default[key]('1 2 3 4');
expect(result[key + "Top"]).toEqual(1);
expect(result[key + "Right"]).toEqual(2);
expect(result[key + "Bottom"]).toEqual(3);
expect(result[key + "Left"]).toEqual(4);
}
function testTransition(value, separatedValue) {
var result = particular_1.default.transition(value);
expect(result.transitionProperty).toEqual(separatedValue.transitionProperty);
expect(result.transitionDuration).toEqual(separatedValue.transitionDuration);
expect(result.transitionDelay).toEqual(separatedValue.transitionDelay);
expect(result.transitionTimingFunction).toEqual(separatedValue.transitionTimingFunction);
}
it('should separate border value', function () {
testBorder('border');
testBorder('borderTop');
testBorder('borderRight');
testBorder('borderBottom');
testBorder('borderLeft');
});
it('should separate inside and outside distance', function () {
testMeasure('padding');
testMeasure('margin');
});
it('should separate three numbers', function () {
var key = 'padding';
var result = particular_1.default[key]('1 2 3');
expect(result[key + "Top"]).toEqual(1);
expect(result[key + "Right"]).toEqual(2);
expect(result[key + "Bottom"]).toEqual(3);
expect(result[key + "Left"]).toEqual(2);
});
it('should separate two numbers', function () {
var key = 'padding';
var result = particular_1.default[key]('1 2');
expect(result[key + "Top"]).toEqual(1);
expect(result[key + "Right"]).toEqual(2);
expect(result[key + "Bottom"]).toEqual(1);
expect(result[key + "Left"]).toEqual(2);
});
it('should separate one numbers', function () {
var key = 'padding';
var result = particular_1.default[key](1);
expect(result[key + "Top"]).toEqual(1);
expect(result[key + "Right"]).toEqual(1);
expect(result[key + "Bottom"]).toEqual(1);
expect(result[key + "Left"]).toEqual(1);
});
it('should return in front of four values with over four numbers', function () {
var key = 'padding';
var result = particular_1.default[key]('1 2 3 4 5');
expect(result).toEqual({});
});
it('should transform lineHeight to string with rem', function () {
var result = particular_1.default.lineHeight(16);
expect(result.lineHeight).toEqual(16);
});
it('should transform fontWeight to string', function () {
var result = particular_1.default.fontWeight(200);
expect(result.fontWeight).toEqual('200');
});
it('should transform transitionDuration to string with ms', function () {
var result = particular_1.default.transitionDuration('0.5s');
expect(result.transitionDuration).toEqual('500ms');
});
it('should transform transitionDelay to string with ms', function () {
var result = particular_1.default.transitionDuration('.5s');
expect(result.transitionDuration).toEqual('500ms');
});
it('should delete empty spaces in transitionTimingFunction', function () {
var result = particular_1.default.transitionTimingFunction('cubic-bezier( 0.42, 0, 0.58, 1 )');
expect(result.transitionTimingFunction).toEqual('cubic-bezier(0.42,0,0.58,1)');
});
it('should transform transitionProperty \'background-color\' to string \'backgroundColor\'', function () {
var result = particular_1.default.transitionProperty('background-color');
expect(result.transitionProperty).toEqual('backgroundColor');
});
it('should transform transitionProperty \'all\' to string \'width,height,top,bottom,left,right,backgroundColor,opacity,transform\'', function () {
var result = particular_1.default.transitionProperty('all');
expect(result.transitionProperty).toEqual('width,height,top,bottom,left,right,backgroundColor,opacity,transform');
});
it('should separate transition value', function () {
testTransition('all 0.5s linear', {
transitionProperty: 'width,height,top,bottom,left,right,backgroundColor,opacity,transform',
transitionDuration: '500ms',
transitionTimingFunction: 'linear',
transitionDelay: '0ms',
});
testTransition('background-color 300ms cubic-bezier( 0.42, 0, 0.58, 1 ) .01s', {
transitionProperty: 'backgroundColor',
transitionDuration: '300ms',
transitionTimingFunction: 'cubic-bezier(0.42,0,0.58,1)',
transitionDelay: '10ms',
});
testTransition('none', {
transitionDuration: '0ms',
transitionTimingFunction: 'ease',
transitionDelay: '0ms',
});
});
});
//# sourceMappingURL=particular.js.map