@@ -38,7 +38,11 @@ def createReferencingLayer():
38
38
f2 .setFields (layer .pendingFields ())
39
39
f2 .setAttributes (["test2" , 123 ])
40
40
f2 .setGeometry (QgsGeometry .fromPoint (QgsPointXY (101 , 201 )))
41
- assert pr .addFeatures ([f1 , f2 ])
41
+ f3 = QgsFeature ()
42
+ f3 .setFields (layer .pendingFields ())
43
+ f3 .setAttributes (["foobar'bar" , 124 ])
44
+ f3 .setGeometry (QgsGeometry .fromPoint (QgsPointXY (101 , 201 )))
45
+ assert pr .addFeatures ([f1 , f2 , f3 ])
42
46
return layer
43
47
44
48
@@ -57,7 +61,7 @@ def createReferencedLayer():
57
61
f2 .setGeometry (QgsGeometry .fromPoint (QgsPointXY (2 , 2 )))
58
62
f3 = QgsFeature ()
59
63
f3 .setFields (layer .pendingFields ())
60
- f3 .setAttributes (["foobar" , 789 , 554 ])
64
+ f3 .setAttributes (["foobar'bar " , 789 , 554 ])
61
65
f3 .setGeometry (QgsGeometry .fromPoint (QgsPointXY (2 , 3 )))
62
66
assert pr .addFeatures ([f1 , f2 , f3 ])
63
67
return layer
@@ -112,6 +116,20 @@ def test_getRelatedFeatures(self):
112
116
it = rel .getRelatedFeatures (feat )
113
117
assert [a .attributes () for a in it ] == [['test1' , 123 ], ['test2' , 123 ]]
114
118
119
+ def test_getRelatedFeaturesWithQuote (self ):
120
+ rel = QgsRelation ()
121
+
122
+ rel .setId ('rel1' )
123
+ rel .setName ('Relation Number One' )
124
+ rel .setReferencingLayer (self .referencingLayer .id ())
125
+ rel .setReferencedLayer (self .referencedLayer .id ())
126
+ rel .addFieldPair ('fldtxt' , 'x' )
127
+
128
+ feat = self .referencedLayer .getFeature (3 )
129
+
130
+ it = rel .getRelatedFeatures (feat )
131
+ assert next (it ).attributes () == ["foobar'bar" , 124 ]
132
+
115
133
def test_getReferencedFeature (self ):
116
134
rel = QgsRelation ()
117
135
rel .setId ('rel1' )
0 commit comments