|
@@ -3366,6 +3366,8 @@ class TestQgsExpression: public QObject |
|
|
|
|
|
QVariantList filterExpected = QVariantList() << QStringLiteral( "A: a" ) << QStringLiteral( "A: d" ); |
|
|
QCOMPARE( QgsExpression( "array_filter(array:=array('A: a', 'B: b', 'C: c', 'A: d'), expression:=substr(@element, 1, 2) = 'A:')" ).evaluate( &context ), QVariant( filterExpected ) ); |
|
|
QVariantList filterExpectedLimit = QVariantList() << QStringLiteral( "A: a" ); |
|
|
QCOMPARE( QgsExpression( "array_filter(array:=array('A: a', 'B: b', 'C: c', 'A: d'), expression:=substr(@element, 1, 2) = 'A:', limit:=1)" ).evaluate( &context ), QVariant( filterExpectedLimit ) ); |
|
|
|
|
|
QCOMPARE( QgsExpression( "array_intersect(array('1', '2', '3', '4'), array('4', '0', '2', '5'))" ).evaluate( &context ), QVariant( true ) ); |
|
|
QCOMPARE( QgsExpression( "array_intersect(array('1', '2', '3', '4'), array('0', '5'))" ).evaluate( &context ), QVariant( false ) ); |
|
@@ -3460,6 +3462,8 @@ class TestQgsExpression: public QObject |
|
|
|
|
|
QVariantList filterExpected = QVariantList() << 1 << 2; |
|
|
QCOMPARE( QgsExpression( "array_filter(array(1, 2, 4), @element < 3)" ).evaluate( &context ), QVariant( filterExpected ) ); |
|
|
QVariantList filterExpectedLimit = QVariantList() << 1; |
|
|
QCOMPARE( QgsExpression( "array_filter(array(1, 2, 4), @element < 3, 1)" ).evaluate( &context ), QVariant( filterExpectedLimit ) ); |
|
|
|
|
|
QgsExpression badArray( QStringLiteral( "array_get('not an array', 0)" ) ); |
|
|
QCOMPARE( badArray.evaluate( &context ), QVariant() ); |
|
|