fix friendly string for point, add UT

This commit is contained in:
jonathanlurie 2025-07-03 11:54:34 +02:00
parent 40b7b18358
commit e30a729a28
2 changed files with 19 additions and 7 deletions

View File

@ -3044,10 +3044,10 @@ QString QgsProcessingParameterDefinition::userFriendlyString( const QVariant &va
else if ( value.userType() == qMetaTypeId<QgsReferencedPointXY>() )
{
const QgsReferencedPointXY r = value.value<QgsReferencedPointXY>();
return QStringLiteral( "[%1] %1, %3" ).arg(
return QStringLiteral( "[%1] %2, %3" ).arg(
r.crs().authid(),
qgsDoubleToString( r.x() ),
qgsDoubleToString( r.y() )
qgsDoubleToString( r.x(), 4 ),
qgsDoubleToString( r.y(), 4 )
);
}
@ -3078,6 +3078,7 @@ QString QgsProcessingParameterDefinition::userFriendlyString( const QVariant &va
const QgsReferencedGeometry g = QgsReferencedGeometry::fromReferencedRect( value.value<QgsReferencedRectangle>() );
if ( !g.isNull() )
{
return QStringLiteral( "[%1] %2" ).arg( g.crs().userFriendlyIdentifier( Qgis::CrsIdentifierType::ShortString ), g.typeName() );
}
return g.typeName();
@ -3145,10 +3146,11 @@ QString QgsProcessingParameterDefinition::userFriendlyString( const QVariant &va
// }
// }
// return value.toString();
return QStringLiteral( "%1 :: %2" )
.arg( value.userType() )
.arg( value.toString() );
return value.toString();
// return QStringLiteral( "%1 :: %2" )
// .arg( value.userType() )
// .arg( value.toString() );
// return value.userType()
}

View File

@ -3874,6 +3874,10 @@ void TestQgsProcessing::parameterExtent()
QCOMPARE( def->valueAsJsonObject( QStringLiteral( "c:\\test\\new data\\test.dat" ), context ), QVariant( QStringLiteral( "c:\\test\\new data\\test.dat" ) ) );
QCOMPARE( def->valueAsJsonObject( QgsGeometry::fromWkt( QStringLiteral( "LineString( 10 10, 20 20)" ) ), context ), QVariant( QStringLiteral( "LineString (10 10, 20 20)" ) ) );
QCOMPARE( def->userFriendlyString( QgsReferencedRectangle( QgsRectangle( 11, 12, 13, 14 ), QgsCoordinateReferenceSystem( "epsg:4326" ) ) ), QStringLiteral( "[EPSG:4326] Polygon" ) );
QCOMPARE( def->userFriendlyString( QgsRectangle( 11, 12, 13, 14 ) ), QStringLiteral( "Polygon" ) );
QCOMPARE( def->userFriendlyString( QVariant( "1,2,3,4" ) ), QStringLiteral( "1,2,3,4" ) );
bool ok = false;
QCOMPARE( def->valueAsString( QVariant(), context, ok ), QString() );
QVERIFY( ok );
@ -4115,6 +4119,12 @@ void TestQgsProcessing::parameterPoint()
QCOMPARE( def->valueAsJsonObject( QgsReferencedPointXY( QgsPointXY( 11, 12 ), QgsCoordinateReferenceSystem( "epsg:4326" ) ), context ), QVariant( QStringLiteral( "11,12 [EPSG:4326]" ) ) );
QCOMPARE( def->valueAsJsonObject( QgsGeometry::fromWkt( QStringLiteral( "LineString( 10 10, 20 20)" ) ), context ), QVariant( QStringLiteral( "LineString (10 10, 20 20)" ) ) );
QCOMPARE( def->userFriendlyString( QgsReferencedPointXY( QgsPointXY( 11, 12 ), QgsCoordinateReferenceSystem( "epsg:4326" ) ) ), QStringLiteral( "[EPSG:4326] 11, 12" ) );
QCOMPARE( def->userFriendlyString( QgsPointXY( 11, 12 ) ), QStringLiteral( "11, 12" ) );
QCOMPARE( def->userFriendlyString( QgsReferencedPointXY( QgsPointXY( 11.1, 12.2 ), QgsCoordinateReferenceSystem( "epsg:4326" ) ) ), QStringLiteral( "[EPSG:4326] 11.1, 12.2" ) );
QCOMPARE( def->userFriendlyString( QgsPointXY( 11.1, 12.2 ) ), QStringLiteral( "11.1, 12.2" ) );
bool ok = false;
QCOMPARE( def->valueAsString( QVariant(), context, ok ), QString() );
QVERIFY( ok );