Stringify

This commit is contained in:
Rafael Caricio 2014-09-19 19:36:13 +02:00
parent 129101533e
commit 37e8f70262
4 changed files with 85 additions and 0 deletions

View file

@ -21,6 +21,26 @@ GradientParser.stringify = (function() {
return node.value;
},
visit_angular: function(node) {
return node.value + 'deg';
},
visit_hex: function(node) {
return '#' + node.value;
},
visit_rgb: function(node) {
return 'rgb(' + node.value.join(', ') + ')';
},
visit_rgba: function(node) {
return 'rgba(' + node.value.join(', ') + ')';
},
visit_directional: function(node) {
return 'to ' + node.value;
},
visit_array: function(elements) {
var result = '',
size = elements.length;

View file

@ -361,6 +361,26 @@ GradientParser.stringify = (function() {
return node.value;
},
visit_angular: function(node) {
return node.value + 'deg';
},
visit_hex: function(node) {
return '#' + node.value;
},
visit_rgb: function(node) {
return 'rgb(' + node.value.join(', ') + ')';
},
visit_rgba: function(node) {
return 'rgba(' + node.value.join(', ') + ')';
},
visit_directional: function(node) {
return 'to ' + node.value;
},
visit_array: function(elements) {
var result = '',
size = elements.length;

View file

@ -21,6 +21,26 @@ GradientParser.stringify = (function() {
return node.value;
},
visit_angular: function(node) {
return node.value + 'deg';
},
visit_hex: function(node) {
return '#' + node.value;
},
visit_rgb: function(node) {
return 'rgb(' + node.value.join(', ') + ')';
},
visit_rgba: function(node) {
return 'rgba(' + node.value.join(', ') + ')';
},
visit_directional: function(node) {
return 'to ' + node.value;
},
visit_array: function(elements) {
var result = '',
size = elements.length;

View file

@ -21,6 +21,31 @@ describe('lib/stringify.js', function () {
expect(gradients.stringify(gradients.parse(gradientDef))).to.equal(gradientDef);
});
it('should serialize gradient with hex', function() {
var gradientDef = 'linear-gradient(#fff, white)';
expect(gradients.stringify(gradients.parse(gradientDef))).to.equal(gradientDef);
});
it('should serialize gradient with rgb', function() {
var gradientDef = 'linear-gradient(rgb(1, 2, 3), white)';
expect(gradients.stringify(gradients.parse(gradientDef))).to.equal(gradientDef);
});
it('should serialize gradient with rgba', function() {
var gradientDef = 'linear-gradient(rgba(1, 2, 3, .0), white)';
expect(gradients.stringify(gradients.parse(gradientDef))).to.equal(gradientDef);
});
it('should serialize gradient with deg', function() {
var gradientDef = 'linear-gradient(45deg, #fff, transparent)';
expect(gradients.stringify(gradients.parse(gradientDef))).to.equal(gradientDef);
});
it('should serialize gradient with directional', function() {
var gradientDef = 'linear-gradient(to left, #fff, transparent)';
expect(gradients.stringify(gradients.parse(gradientDef))).to.equal(gradientDef);
});
});
});