mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
[pyqgis] __repr__ method for QgsExpression, QgsField (#7464)
* [pyqgis] __repr__ method for QgsExpression, QgsField * add tests for __repr__ methods * Fix test
This commit is contained in:
parent
e19e1dea9d
commit
c0dd00615a
@ -586,6 +586,12 @@ value. The value may be null.
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
SIP_PYOBJECT __repr__();
|
||||
%MethodCode
|
||||
QString str = QStringLiteral( "<QgsExpression: '%1'>" ).arg( sipCpp->expression() );
|
||||
sipRes = PyUnicode_FromString( str.toUtf8().data() );
|
||||
%End
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -330,6 +330,12 @@ by manual field configuration.
|
||||
:return: the value
|
||||
%End
|
||||
|
||||
SIP_PYOBJECT __repr__();
|
||||
%MethodCode
|
||||
QString str = QStringLiteral( "<QgsField: %1 (%2)>" ).arg( sipCpp->name() ).arg( sipCpp->typeName() );
|
||||
sipRes = PyUnicode_FromString( str.toUtf8().data() );
|
||||
%End
|
||||
|
||||
}; // class QgsField
|
||||
|
||||
|
||||
|
@ -609,6 +609,14 @@ class CORE_EXPORT QgsExpression
|
||||
*/
|
||||
static QString createFieldEqualityExpression( const QString &fieldName, const QVariant &value );
|
||||
|
||||
#ifdef SIP_RUN
|
||||
SIP_PYOBJECT __repr__();
|
||||
% MethodCode
|
||||
QString str = QStringLiteral( "<QgsExpression: '%1'>" ).arg( sipCpp->expression() );
|
||||
sipRes = PyUnicode_FromString( str.toUtf8().data() );
|
||||
% End
|
||||
#endif
|
||||
|
||||
private:
|
||||
void initGeomCalculator();
|
||||
|
||||
|
@ -335,6 +335,14 @@ class CORE_EXPORT QgsField
|
||||
*/
|
||||
QgsEditorWidgetSetup editorWidgetSetup() const;
|
||||
|
||||
#ifdef SIP_RUN
|
||||
SIP_PYOBJECT __repr__();
|
||||
% MethodCode
|
||||
QString str = QStringLiteral( "<QgsField: %1 (%2)>" ).arg( sipCpp->name() ).arg( sipCpp->typeName() );
|
||||
sipRes = PyUnicode_FromString( str.toUtf8().data() );
|
||||
% End
|
||||
#endif
|
||||
|
||||
private:
|
||||
|
||||
QSharedDataPointer<QgsFieldPrivate> d;
|
||||
|
@ -14,9 +14,10 @@ __revision__ = '$Format:%H$'
|
||||
|
||||
import qgis # NOQA
|
||||
|
||||
from PyQt5.QtCore import QVariant
|
||||
from qgis.testing import unittest, start_app
|
||||
from qgis.core import QgsGeometry, QgsPoint, QgsPointXY, QgsCircle, QgsCircularString, QgsCompoundCurve,\
|
||||
QgsCurvePolygon, QgsEllipse, QgsLineString, QgsMultiCurve, QgsRectangle
|
||||
QgsCurvePolygon, QgsEllipse, QgsLineString, QgsMultiCurve, QgsRectangle, QgsExpression, QgsField
|
||||
|
||||
start_app()
|
||||
|
||||
@ -112,6 +113,14 @@ class TestPython__repr__(unittest.TestCase):
|
||||
r = QgsRectangle(1, 2, 3, 4)
|
||||
self.assertEqual(r.__repr__(), '<QgsRectangle: 1 2, 3 4>')
|
||||
|
||||
def testQgsExpressionRepr(self):
|
||||
e = QgsExpression('my expression')
|
||||
self.assertEqual(e.__repr__(), "<QgsExpression: 'my expression'>")
|
||||
|
||||
def testQgsFieldRepr(self):
|
||||
f = QgsField('field_name', QVariant.Double, 'double')
|
||||
self.assertEqual(f.__repr__(), "<QgsField: field_name (double)>")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user