@@ -1243,10 +1243,65 @@ class TestQgsExpression: public QObject
12431243 vPerimeter = exp3.evaluate ( &context );
12441244 QCOMPARE ( vPerimeter.toDouble (), 26 . );
12451245
1246+ QgsExpression deprecatedExpXAt ( " $x_at(1)" );
1247+ context.setFeature ( fPolygon );
1248+ QVariant xAt = deprecatedExpXAt.evaluate ( &context );
1249+ QCOMPARE ( xAt.toDouble (), 10.0 );
1250+ context.setFeature ( fPolyline );
1251+ xAt = deprecatedExpXAt.evaluate ( &context );
1252+ QCOMPARE ( xAt.toDouble (), 10.0 );
1253+
1254+ QgsExpression deprecatedExpXAtNeg ( " $x_at(-2)" );
1255+ context.setFeature ( fPolygon );
1256+ xAt = deprecatedExpXAtNeg.evaluate ( &context );
1257+ QCOMPARE ( xAt.toDouble (), 2.0 );
1258+
1259+ QgsExpression deprecatedExpYAt ( " $y_at(2)" );
1260+ context.setFeature ( fPolygon );
1261+ QVariant yAt = deprecatedExpYAt.evaluate ( &context );
1262+ QCOMPARE ( yAt.toDouble (), 6.0 );
1263+ QgsExpression deprecatedExpYAt2 ( " $y_at(1)" );
1264+ context.setFeature ( fPolyline );
1265+ yAt = deprecatedExpYAt2.evaluate ( &context );
1266+ QCOMPARE ( yAt.toDouble (), 0.0 );
1267+
1268+ QgsExpression deprecatedExpYAtNeg ( " $y_at(-2)" );
1269+ context.setFeature ( fPolygon );
1270+ yAt = deprecatedExpYAtNeg.evaluate ( &context );
1271+ QCOMPARE ( yAt.toDouble (), 6.0 );
1272+
1273+ QgsExpression expXAt ( " x_at(1)" );
1274+ context.setFeature ( fPolygon );
1275+ xAt = expXAt.evaluate ( &context );
1276+ QCOMPARE ( xAt.toDouble (), 10.0 );
1277+ context.setFeature ( fPolyline );
1278+ xAt = expXAt.evaluate ( &context );
1279+ QCOMPARE ( xAt.toDouble (), 10.0 );
1280+
1281+ QgsExpression expXAtNeg ( " x_at(-2)" );
1282+ context.setFeature ( fPolygon );
1283+ xAt = expXAtNeg.evaluate ( &context );
1284+ QCOMPARE ( xAt.toDouble (), 2.0 );
1285+
1286+ QgsExpression expYAt ( " y_at(2)" );
1287+ context.setFeature ( fPolygon );
1288+ yAt = expYAt.evaluate ( &context );
1289+ QCOMPARE ( yAt.toDouble (), 6.0 );
1290+ QgsExpression expYAt2 ( " $y_at(1)" );
1291+ context.setFeature ( fPolyline );
1292+ yAt = expYAt2.evaluate ( &context );
1293+ QCOMPARE ( yAt.toDouble (), 0.0 );
1294+
1295+ QgsExpression expYAtNeg ( " y_at(-2)" );
1296+ context.setFeature ( fPolygon );
1297+ yAt = expYAtNeg.evaluate ( &context );
1298+ QCOMPARE ( yAt.toDouble (), 6.0 );
1299+
12461300 QgsExpression exp4 ( " bounds_width($geometry)" );
12471301 QVariant vBoundsWidth = exp4.evaluate ( &fPolygon );
12481302 QCOMPARE ( vBoundsWidth.toDouble (), 8.0 );
12491303
1304+ context.setFeature ( fPolygon );
12501305 vBoundsWidth = exp4.evaluate ( &context );
12511306 QCOMPARE ( vBoundsWidth.toDouble (), 8.0 );
12521307
0 commit comments