Handle named colors as string in equal operator

This commit is contained in:
Seba Kerckhof
2021-07-27 18:54:08 +02:00
parent 1dc336e459
commit db57d9bf89
2 changed files with 9 additions and 0 deletions

View File

@@ -606,6 +606,12 @@ function getEqualOperator(operator) {
); );
} }
if (type === (ValueTypes.COLOR | ValueTypes.STRING)) {
// It's not possible to compare attributes with color values
// So force it to be treated as a string
type = ValueTypes.STRING;
}
return `(${expressionToGlsl( return `(${expressionToGlsl(
context, context,
args[0], args[0],

View File

@@ -250,6 +250,9 @@ describe('ol.style.expressions', function () {
expect(expressionToGlsl(context, ['==', 10, ['get', 'attr4']])).to.eql( expect(expressionToGlsl(context, ['==', 10, ['get', 'attr4']])).to.eql(
'(10.0 == a_attr4)' '(10.0 == a_attr4)'
); );
expect(expressionToGlsl(context, ['==', 'red', ['get', 'attr4']])).to.eql(
'(0.0 == a_attr4)'
);
expect(expressionToGlsl(context, ['!=', 10, ['get', 'attr4']])).to.eql( expect(expressionToGlsl(context, ['!=', 10, ['get', 'attr4']])).to.eql(
'(10.0 != a_attr4)' '(10.0 != a_attr4)'
); );