rewrite parseBackgroundImage to remove RegExp

RegExp couldn't handle parens inside parens:
linear-gradient(rgb(0,0,0),rgb(255,0,0))
This commit is contained in:
MoyuScript
2012-12-28 16:22:43 -06:00
parent bd4e8d3f23
commit 6cde3cd22f
2 changed files with 81 additions and 22 deletions

View File

@ -174,6 +174,12 @@ $(function() {
'linear-gradient'
);
test_parse_background_image(
'linear-gradient(top,rgb(255,0,0),rgb(0,0,0))',
{ prefix: '', method: 'linear-gradient', definition: 'top,rgb(255,0,0),rgb(0,0,0)', value: 'linear-gradient(top,rgb(255,0,0),rgb(0,0,0))' },
'linear-gradient'
);
test_parse_background_image(
'-webkit-linear-gradient(red,black)',
{ prefix: '-webkit-', method: 'linear-gradient', definition: 'red,black', value: '-webkit-linear-gradient(red,black)' },
@ -181,10 +187,11 @@ $(function() {
);
test_parse_background_image(
'linear-gradient(red,black), url(test), url("test")', [
'linear-gradient(red,black), url(test), url("test"),\n none, ', [
{ prefix: '', method: 'linear-gradient', definition: 'red,black', value: 'linear-gradient(red,black)' },
{ prefix: '', method: 'url', definition: 'test', value: 'url(test)' },
{ prefix: '', method: 'url', definition: 'test', value: 'url("test")' }
{ prefix: '', method: 'url', definition: 'test', value: 'url("test")' },
{ prefix: '', method: 'none', definition: '', value: 'none' }
],
'multiple backgrounds'
);