[vector tiles] Handle 'to-boolean' mapboxgl expressions when importing styles

This commit is contained in:
Mathieu Pellerin 2024-11-19 11:10:58 +07:00
parent 0aca4bb1e3
commit cdf7c82d7a
2 changed files with 7 additions and 0 deletions

View File

@ -3428,6 +3428,10 @@ QString QgsMapBoxGlStyleConverter::parseExpression( const QVariantList &expressi
{
return QStringLiteral( "to_string(%1)" ).arg( parseExpression( expression.value( 1 ).toList(), context ) );
}
else if ( op == QLatin1String( "to-boolean" ) )
{
return QStringLiteral( "to_bool(%1)" ).arg( parseExpression( expression.value( 1 ).toList(), context ) );
}
else if ( op == QLatin1String( "case" ) )
{
QString caseString = QStringLiteral( "CASE" );

View File

@ -529,6 +529,9 @@ class TestQgsMapBoxGlStyleConverter(QgisTestCase):
conversion_context),
'''"name"''')
self.assertEqual(QgsMapBoxGlStyleConverter.parseExpression(["to-boolean", ["get", "name"]],
conversion_context),
'''to_bool("name")''')
self.assertEqual(QgsMapBoxGlStyleConverter.parseExpression(["to-string", ["get", "name"]],
conversion_context),
'''to_string("name")''')