Exception: No color stops provided to linear-gradient function
lvsoft opened this issue · 0 comments
lvsoft commented
I got an issue while compiling MDL's SCSS files. I traced the code which seems to be a bug of pyScss in parsing color string as String object.
Here's the minimum SCSS which can trigger this issue:
$color-white: "255,255,255";
$progress-secondary-color: unquote("rgba(#{$color-white}, 0.4)");
$progress-main-color: "128,128,128";
@supports (-webkit-appearance:none) {
.mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate) > .auxbar,
.mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate) > .auxbar {
background-image: linear-gradient(to right, $progress-secondary-color, $progress-secondary-color),
linear-gradient(to right, $progress-main-color, $progress-main-color);
}
}
$ python -m scss < test.scss
Traceback (most recent call last):
... ...
File "/usr/lib/python2.7/dist-packages/scss/extension/compass/gradients.py", line 316, in linear_gradient
raise Exception('No color stops provided to linear-gradient function')
scss.errors.SassEvaluationError: Error evaluating expression:
linear-gradient(to right, $progress-secondary-color, $progress-secondary-color),
linear-gradient(to right, $progress-main-color, $progress-main-color)
on line 7 of /home/lv/scss/<stdin>
Traceback:
File "/usr/lib/python2.7/dist-packages/scss/calculator.py", line 141, in evaluate_expression
return ast.evaluate(self, divide=divide)
File "/usr/lib/python2.7/dist-packages/scss/ast.py", line 373, in evaluate
items = [item.evaluate(calculator, divide=divide) for item in self.items]
File "/usr/lib/python2.7/dist-packages/scss/ast.py", line 230, in evaluate
ret = funct(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/scss/extension/compass/gradients.py", line 316, in linear_gradient
raise Exception('No color stops provided to linear-gradient function')
Exception: No color stops provided to linear-gradient function
Expected result:
@supports (-webkit-appearance: none) {
.mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate) > .auxbar,
.mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate) > .auxbar {
background-image: linear-gradient(to right, rgba(255,255,255, 0.4), rgba(255,255,255, 0.4)), linear-gradient(to right, "128,128,128", "128,128,128");
}
}