Drop QgsVectorLayer::pendingFields()

Use QgsVectorLayer::fields() instead.
This commit is contained in:
Nyall Dawson 2018-01-12 21:40:09 +10:00
parent 3b3d901bdb
commit 068d51c3be
20 changed files with 72 additions and 89 deletions

View File

@ -2431,6 +2431,7 @@ displayExpression instead. For the map tip use mapTipTemplate() instead.
- addPart() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed
- splitParts() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed
- splitFeatured() now returns QgsGeometry::OperationResult enum, integer representation of returned values may have changed
- pendingFields() was dropped. Use fields() instead.
QgsVectorLayerEditBuffer {#qgis_api_break_3_0_QgsVectorLayerEditBuffer}

View File

@ -1391,15 +1391,6 @@ Return new instance of QgsMapLayerRenderer that will be used for rendering of gi
Returns the list of fields of this layer.
This also includes fields which have not yet been saved to the provider.
:return: A list of fields
%End
QgsFields pendingFields() const;
%Docstring
Returns the list of fields of this layer.
This also includes fields which have not yet been saved to the provider.
Alias for fields()
:return: A list of fields
%End

View File

@ -1186,7 +1186,7 @@ void QgsPalLayerSettings::registerFeature( QgsFeature &f, QgsRenderContext &cont
return;
}
// mCurFields = &layer->pendingFields();
// mCurFields = &layer->fields();
// store data defined-derived values for later adding to label feature for use during rendering
dataDefinedValues.clear();

2
src/core/qgsvectorlayer.cpp Executable file → Normal file
View File

@ -4093,7 +4093,7 @@ QString QgsVectorLayer::htmlMetadata() const
myMetadata += QLatin1String( "</td></tr>\n" );
}
const QgsFields &myFields = pendingFields();
const QgsFields myFields = fields();
// count fields
myMetadata += QStringLiteral( "<tr><td class=\"highlight\">" ) + tr( "Count" ) + QStringLiteral( "</td><td>" ) + QString::number( myFields.size() ) + QStringLiteral( "</td></tr>\n" );

View File

@ -1302,15 +1302,6 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionConte
*/
inline QgsFields fields() const override { return mFields; }
/**
* Returns the list of fields of this layer.
* This also includes fields which have not yet been saved to the provider.
* Alias for fields()
*
* \returns A list of fields
*/
inline QgsFields pendingFields() const { return mFields; }
/**
* Returns list of attribute indexes. i.e. a list from 0 ... fieldCount()
* Alias for attributeList()

View File

@ -385,7 +385,7 @@ bool QgsVectorLayerEditBuffer::commitChanges( QStringList &commitErrors )
QString list = "ERROR: Pending attribute deletes:";
Q_FOREACH ( int idx, mDeletedAttributeIds )
{
list.append( ' ' + L->pendingFields().at( idx ).name() );
list.append( ' ' + L->fields().at( idx ).name() );
}
commitErrors << list;
#endif
@ -529,7 +529,7 @@ bool QgsVectorLayerEditBuffer::commitChanges( QStringList &commitErrors )
list.append( "\n " + FID_TO_STRING( id ) + '[' );
Q_FOREACH ( int idx, mChangedAttributeValues[ id ].keys() )
{
list.append( QString( " %1:%2" ).arg( L->pendingFields().at( idx ).name() ).arg( mChangedAttributeValues[id][idx].toString() ) );
list.append( QString( " %1:%2" ).arg( L->fields().at( idx ).name() ).arg( mChangedAttributeValues[id][idx].toString() ) );
}
list.append( " ]" );
}
@ -619,9 +619,9 @@ bool QgsVectorLayerEditBuffer::commitChanges( QStringList &commitErrors )
Q_FOREACH ( QgsFeature f, mAddedFeatures )
{
list.append( ' ' + FID_TO_STRING( f.id() ) + '[' );
for ( int i = 0; i < L->pendingFields().size(); i++ )
for ( int i = 0; i < L->fields().size(); i++ )
{
list.append( QString( " %1:%2" ).arg( L->pendingFields().at( i ).name() ).arg( f.attributes()[i].toString() ) );
list.append( QString( " %1:%2" ).arg( L->fields().at( i ).name() ).arg( f.attributes()[i].toString() ) );
}
list.append( " ]" );
}

View File

@ -63,7 +63,7 @@ void QgsGlobeFeatureSource::initialize( const osgDB::Options *dbOptions )
}
QgsRectangle ext = mLayer->extent();
osgEarth::GeoExtent geoext( ref, ext.xMinimum(), ext.yMinimum(), ext.xMaximum(), ext.yMaximum() );
mSchema = QgsGlobeFeatureUtils::schemaForFields( mLayer->pendingFields() );
mSchema = QgsGlobeFeatureUtils::schemaForFields( mLayer->fields() );
#if OSGEARTH_VERSION_GREATER_OR_EQUAL(2, 8, 0)
setFeatureProfile( new osgEarth::Features::FeatureProfile( geoext ) );
return osgEarth::Status( osgEarth::Status::NoError );
@ -139,7 +139,7 @@ void QgsGlobeFeatureSource::attributeValueChanged( const QgsFeatureId &featureId
if ( it != mFeatures.end() )
{
osgEarth::Features::Feature *feature = it->second.get();
QgsGlobeFeatureUtils::setFeatureField( feature, mLayer->pendingFields().at( idx ), value );
QgsGlobeFeatureUtils::setFeatureField( feature, mLayer->fields().at( idx ), value );
}
}

View File

@ -159,7 +159,7 @@ class QgsGlobeFeatureUtils
osgEarth::SpatialReference *ref = osgEarth::SpatialReference::create( layer->crs().toWkt().toStdString() );
osgEarth::Features::Feature *retFeat = new osgEarth::Features::Feature( nGeom, ref, osgEarth::Style(), feat.id() );
const QgsFields &fields = layer->pendingFields();
const QgsFields fields = layer->fields();
const QgsAttributes &attrs = feat.attributes();
for ( int idx = 0, numFlds = fields.size(); idx < numFlds; ++idx )

View File

@ -248,7 +248,7 @@ namespace QgsWfs
sequenceElem.appendChild( geomElem );
//Attributes
const QgsFields &fields = layer->pendingFields();
QgsFields fields = layer->fields();
//hidden attributes for this layer
const QSet<QString> &layerExcludedAttributes = layer->excludeAttributesWfs();
for ( int idx = 0; idx < fields.count(); ++idx )

View File

@ -247,7 +247,7 @@ namespace QgsWfs
withGeom = false;
QStringList::const_iterator plstIt;
QList<int> idxList;
QgsFields fields = vlayer->pendingFields();
QgsFields fields = vlayer->fields();
QString fieldName;
for ( plstIt = propertyList.begin(); plstIt != propertyList.end(); ++plstIt )
{
@ -294,11 +294,11 @@ namespace QgsWfs
QStringList attributes = QStringList();
Q_FOREACH ( int idx, attrIndexes )
{
attributes.append( vlayer->pendingFields().field( idx ).name() );
attributes.append( vlayer->fields().field( idx ).name() );
}
featureRequest.setSubsetOfAttributes(
accessControl->layerAttributes( vlayer, attributes ),
vlayer->pendingFields() );
vlayer->fields() );
}
if ( onlyOneLayer )

View File

@ -1663,7 +1663,7 @@ namespace QgsWms
//attributes
QDomElement attributesElem = doc.createElement( QStringLiteral( "Attributes" ) );
const QgsFields &layerFields = vLayer->pendingFields();
const QgsFields layerFields = vLayer->fields();
for ( int idx = 0; idx < layerFields.count(); ++idx )
{
QgsField field = layerFields.at( idx );

View File

@ -266,7 +266,7 @@ namespace QgsWms
{
std::unique_ptr< QgsFeatureRenderer > r( vl->renderer()->clone() );
bool moreSymbolsPerFeature = r->capabilities() & QgsFeatureRenderer::MoreSymbolsPerFeature;
r->startRender( context, vl->pendingFields() );
r->startRender( context, vl->fields() );
QgsFeature f;
QgsFeatureRequest request( context.extent() );
request.setFlags( QgsFeatureRequest::ExactIntersect );
@ -821,7 +821,7 @@ namespace QgsWms
int layerAttribute = -1;
if ( layerAttributes.size() > layerIdx )
{
layerAttribute = vlayer->pendingFields().indexFromName( layerAttributes.at( layerIdx ) );
layerAttribute = vlayer->fields().indexFromName( layerAttributes.at( layerIdx ) );
}
dxfLayers.append( qMakePair( vlayer, layerAttribute ) );
@ -1401,7 +1401,7 @@ namespace QgsWms
QgsAttributes featureAttributes;
int featureCounter = 0;
layer->updateFields();
const QgsFields &fields = layer->pendingFields();
const QgsFields fields = layer->fields();
bool addWktGeometry = ( QgsServerProjectUtils::wmsFeatureInfoAddWktGeometry( *mProject ) && mWmsParameters.withGeometry() );
bool segmentizeWktGeometry = QgsServerProjectUtils::wmsFeatureInfoSegmentizeWktGeometry( *mProject );
const QSet<QString> &excludedAttributes = layer->excludeAttributesWms();
@ -1429,19 +1429,19 @@ namespace QgsWms
QStringList attributes;
QgsField field;
Q_FOREACH ( field, layer->pendingFields().toList() )
Q_FOREACH ( field, layer->fields().toList() )
{
attributes.append( field.name() );
}
attributes = mAccessControl->layerAttributes( layer, attributes );
fReq.setSubsetOfAttributes( attributes, layer->pendingFields() );
fReq.setSubsetOfAttributes( attributes, layer->fields() );
#endif
QgsFeatureIterator fit = layer->getFeatures( fReq );
std::unique_ptr< QgsFeatureRenderer > r2( layer->renderer() ? layer->renderer()->clone() : nullptr );
if ( r2 )
{
r2->startRender( renderContext, layer->pendingFields() );
r2->startRender( renderContext, layer->fields() );
}
bool featureBBoxInitialized = false;
@ -2432,7 +2432,7 @@ namespace QgsWms
}
// create feature with label if necessary
QgsFeature fet( layer->pendingFields() );
QgsFeature fet( layer->fields() );
if ( ! param.mLabel.isEmpty() )
{
fet.setAttribute( 0, param.mLabel );

View File

@ -67,7 +67,7 @@ class OfflineTestBase(object):
layer = self._getLayer('test_point')
assert layer.startEditing()
for id, name, geom in TEST_FEATURES:
f = QgsFeature(layer.pendingFields())
f = QgsFeature(layer.fields())
f['id'] = id
f['name'] = name
f.setGeometry(QgsGeometry.fromPointXY(geom))
@ -271,7 +271,7 @@ class OfflineTestBase(object):
self.assertTrue(offline_layer.startEditing())
features = []
for id, name, geom in TEST_FEATURES_INSERT:
f = QgsFeature(offline_layer.pendingFields())
f = QgsFeature(offline_layer.fields())
f['id'] = id
f['name'] = name
f.setGeometry(QgsGeometry.fromPointXY(geom))

View File

@ -32,13 +32,13 @@ def createReferencingLayer():
"referencinglayer", "memory")
pr = layer.dataProvider()
f1 = QgsFeature()
f1.setFields(layer.pendingFields())
f1.setFields(layer.fields())
f1.setAttributes(["test1", 123])
f2 = QgsFeature()
f2.setFields(layer.pendingFields())
f2.setFields(layer.fields())
f2.setAttributes(["test2", 123])
f3 = QgsFeature()
f3.setFields(layer.pendingFields())
f3.setFields(layer.fields())
f3.setAttributes(["foobar'bar", 124])
assert pr.addFeatures([f1, f2, f3])
return layer
@ -50,13 +50,13 @@ def createReferencedLayer():
"referencedlayer", "memory")
pr = layer.dataProvider()
f1 = QgsFeature()
f1.setFields(layer.pendingFields())
f1.setFields(layer.fields())
f1.setAttributes(["foo", 123, 321])
f2 = QgsFeature()
f2.setFields(layer.pendingFields())
f2.setFields(layer.fields())
f2.setAttributes(["bar", 456, 654])
f3 = QgsFeature()
f3.setFields(layer.pendingFields())
f3.setFields(layer.fields())
f3.setAttributes(["foobar'bar", 789, 554])
assert pr.addFeatures([f1, f2, f3])
return layer

View File

@ -103,13 +103,13 @@ class TestQgsFeatureIterator(unittest.TestCase):
def addFeatures(self, vl):
feat = QgsFeature()
fields = vl.pendingFields()
fields = vl.fields()
feat.setFields(fields)
feat['Staff'] = 4
vl.addFeature(feat)
feat = QgsFeature()
fields = vl.pendingFields()
fields = vl.fields()
feat.setFields(fields)
feat['Staff'] = 2
vl.addFeature(feat)
@ -149,7 +149,7 @@ class TestQgsFeatureIterator(unittest.TestCase):
layer = QgsVectorLayer(myShpFile, 'Points', 'ogr')
self.assertTrue(layer.isValid())
cnt = layer.pendingFields().count() # NOQA
cnt = layer.fields().count() # NOQA
idx = layer.addExpressionField('"exp3"*2', QgsField('exp1', QVariant.LongLong)) # NOQA
idx = layer.addExpressionField('"exp1"-1', QgsField('exp2', QVariant.LongLong)) # NOQA
idx = layer.addExpressionField('"exp2"*3', QgsField('exp3', QVariant.LongLong)) # NOQA

View File

@ -570,7 +570,7 @@ class TestQgsLayoutAtlas(unittest.TestCase):
# rotate the map and test that the bounding rectangle
# is smaller than the bounds without rotation.
polygonLayer = QgsVectorLayer('Polygon', 'test_polygon', 'memory')
poly = QgsFeature(polygonLayer.pendingFields())
poly = QgsFeature(polygonLayer.fields())
points = [(10, 15), (15, 10), (45, 40), (40, 45)]
poly.setGeometry(QgsGeometry.fromPolygonXY([[QgsPointXY(x[0], x[1]) for x in points]]))
polygonLayer.dataProvider().addFeatures([poly])

View File

@ -34,15 +34,15 @@ def createReferencingLayer():
"referencinglayer", "memory")
pr = layer.dataProvider()
f1 = QgsFeature()
f1.setFields(layer.pendingFields())
f1.setFields(layer.fields())
f1.setAttributes(["test1", 123])
f1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(100, 200)))
f2 = QgsFeature()
f2.setFields(layer.pendingFields())
f2.setFields(layer.fields())
f2.setAttributes(["test2", 123])
f2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(101, 201)))
f3 = QgsFeature()
f3.setFields(layer.pendingFields())
f3.setFields(layer.fields())
f3.setAttributes(["foobar'bar", 124])
f3.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(101, 201)))
assert pr.addFeatures([f1, f2, f3])
@ -55,15 +55,15 @@ def createReferencedLayer():
"referencedlayer", "memory")
pr = layer.dataProvider()
f1 = QgsFeature()
f1.setFields(layer.pendingFields())
f1.setFields(layer.fields())
f1.setAttributes(["foo", 123, 321])
f1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(1, 1)))
f2 = QgsFeature()
f2.setFields(layer.pendingFields())
f2.setFields(layer.fields())
f2.setAttributes(["bar", 456, 654])
f2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(2, 2)))
f3 = QgsFeature()
f3.setFields(layer.pendingFields())
f3.setFields(layer.fields())
f3.setAttributes(["foobar'bar", 789, 554])
f3.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(2, 3)))
assert pr.addFeatures([f1, f2, f3])

View File

@ -31,11 +31,11 @@ def createReferencingLayer():
"referencinglayer", "memory")
pr = layer.dataProvider()
f1 = QgsFeature()
f1.setFields(layer.pendingFields())
f1.setFields(layer.fields())
f1.setAttributes(["test1", 123])
f1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(100, 200)))
f2 = QgsFeature()
f2.setFields(layer.pendingFields())
f2.setFields(layer.fields())
f2.setAttributes(["test2", 123])
f2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(101, 201)))
assert pr.addFeatures([f1, f2])

View File

@ -236,15 +236,15 @@ class TestWFST(unittest.TestCase):
layer_name = 'test_point'
layer = self._getLayer(layer_name)
wfs_layer = self._getWFSLayer(layer_name)
feat1 = QgsFeature(wfs_layer.pendingFields())
feat1 = QgsFeature(wfs_layer.fields())
feat1['id'] = 11
feat1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(9, 45)))
feat2 = QgsFeature(wfs_layer.pendingFields())
feat2 = QgsFeature(wfs_layer.fields())
feat2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(9.5, 45.5)))
feat2['id'] = 12
old_features = [feat1, feat2]
# Change feat1
new_feat1 = QgsFeature(wfs_layer.pendingFields())
new_feat1 = QgsFeature(wfs_layer.fields())
new_feat1['id'] = 121
new_feat1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(10, 46)))
new_features = [new_feat1, feat2]
@ -258,21 +258,21 @@ class TestWFST(unittest.TestCase):
layer_name = 'test_point'
layer = self._getLayer(layer_name)
wfs_layer = self._getWFSLayer(layer_name)
feat1 = QgsFeature(wfs_layer.pendingFields())
feat1 = QgsFeature(wfs_layer.fields())
feat1['id'] = 11
feat1['name'] = 'name 11'
feat1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(9, 45)))
feat2 = QgsFeature(wfs_layer.pendingFields())
feat2 = QgsFeature(wfs_layer.fields())
feat2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(9.5, 45.5)))
feat2['id'] = 12
feat2['name'] = 'name 12'
old_features = [feat1, feat2]
# Change feat1 and feat2
new_feat1 = QgsFeature(wfs_layer.pendingFields())
new_feat1 = QgsFeature(wfs_layer.fields())
new_feat1['id'] = 121
new_feat1['name'] = 'name 121'
new_feat1.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(10, 46)))
new_feat2 = QgsFeature(wfs_layer.pendingFields())
new_feat2 = QgsFeature(wfs_layer.fields())
new_feat2['id'] = 122
new_feat2['name'] = 'name 122'
new_feat2.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(10.5, 47)))
@ -286,17 +286,17 @@ class TestWFST(unittest.TestCase):
layer_name = 'test_polygon'
layer = self._getLayer(layer_name)
wfs_layer = self._getWFSLayer(layer_name)
feat1 = QgsFeature(wfs_layer.pendingFields())
feat1 = QgsFeature(wfs_layer.fields())
feat1['id'] = 11
feat1['name'] = 'name 11'
feat1.setGeometry(QgsGeometry.fromRect(QgsRectangle(QgsPointXY(9, 45), QgsPointXY(10, 46))))
feat2 = QgsFeature(wfs_layer.pendingFields())
feat2 = QgsFeature(wfs_layer.fields())
feat2.setGeometry(QgsGeometry.fromRect(QgsRectangle(QgsPointXY(9.5, 45.5), QgsPointXY(10.5, 46.5))))
feat2['id'] = 12
feat2['name'] = 'name 12'
old_features = [feat1, feat2]
# Change feat1
new_feat1 = QgsFeature(wfs_layer.pendingFields())
new_feat1 = QgsFeature(wfs_layer.fields())
new_feat1['id'] = 121
new_feat1['name'] = 'name 121'
new_feat1.setGeometry(QgsGeometry.fromRect(QgsRectangle(QgsPointXY(10, 46), QgsPointXY(11.5, 47.5))))
@ -310,17 +310,17 @@ class TestWFST(unittest.TestCase):
layer_name = 'test_linestring'
layer = self._getLayer(layer_name)
wfs_layer = self._getWFSLayer(layer_name)
feat1 = QgsFeature(wfs_layer.pendingFields())
feat1 = QgsFeature(wfs_layer.fields())
feat1['id'] = 11
feat1['name'] = 'name 11'
feat1.setGeometry(QgsGeometry.fromPolylineXY([QgsPointXY(9, 45), QgsPointXY(10, 46)]))
feat2 = QgsFeature(wfs_layer.pendingFields())
feat2 = QgsFeature(wfs_layer.fields())
feat2.setGeometry(QgsGeometry.fromPolylineXY([QgsPointXY(9.5, 45.5), QgsPointXY(10.5, 46.5)]))
feat2['id'] = 12
feat2['name'] = 'name 12'
old_features = [feat1, feat2]
# Change feat1
new_feat1 = QgsFeature(wfs_layer.pendingFields())
new_feat1 = QgsFeature(wfs_layer.fields())
new_feat1['id'] = 121
new_feat1['name'] = 'name 121'
new_feat1.setGeometry(QgsGeometry.fromPolylineXY([QgsPointXY(9.8, 45.8), QgsPointXY(10.8, 46.8)]))

View File

@ -554,7 +554,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
newF.setAttributes(["hello", 42])
def checkAfter():
self.assertEqual(len(layer.pendingFields()), 2)
self.assertEqual(len(layer.fields()), 2)
# check feature
fi = layer.getFeatures()
f = next(fi)
@ -688,7 +688,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
newF.setAttributes(["hello", 42])
def checkAfter():
self.assertEqual(len(layer.pendingFields()), 2)
self.assertEqual(len(layer.fields()), 2)
# check feature
f = next(layer.getFeatures())
self.assertEqual(f.geometry().asPoint(), QgsPointXY(2, 2))
@ -781,7 +781,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
def checkBefore():
# check fields
flds = layer.pendingFields()
flds = layer.fields()
self.assertEqual(len(flds), 2)
self.assertEqual(flds[0].name(), "fldtxt")
self.assertEqual(flds[1].name(), "fldint")
@ -795,7 +795,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
def checkAfter():
# check fields
flds = layer.pendingFields()
flds = layer.fields()
self.assertEqual(len(flds), 3)
self.assertEqual(flds[0].name(), "fldtxt")
self.assertEqual(flds[1].name(), "fldint")
@ -850,13 +850,13 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
fld1 = QgsField("fld1", QVariant.Int, "integer")
def checkBefore():
self.assertEqual(len(layer.pendingFields()), 2)
self.assertEqual(len(layer.fields()), 2)
# check feature
with self.assertRaises(StopIteration):
next(layer.getFeatures())
def checkAfter():
self.assertEqual(len(layer.pendingFields()), 3)
self.assertEqual(len(layer.fields()), 3)
# check feature
f = next(layer.getFeatures())
attrs = f.attributes()
@ -912,7 +912,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
self.assertFalse(layer.deleteAttribute(0))
def checkBefore():
flds = layer.pendingFields()
flds = layer.fields()
self.assertEqual(len(flds), 3)
self.assertEqual(flds[0].name(), "fldtxt")
self.assertEqual(flds[1].name(), "fldint")
@ -932,7 +932,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
self.assertTrue(layer.deleteAttribute(0))
def checkAfterOneDelete():
flds = layer.pendingFields()
flds = layer.fields()
# for fld in flds: print "FLD", fld.name()
self.assertEqual(len(flds), 2)
self.assertEqual(flds[0].name(), "fldint")
@ -952,7 +952,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
def checkAfterTwoDeletes():
self.assertEqual(layer.pendingAllAttributesList(), [0])
flds = layer.pendingFields()
flds = layer.fields()
# for fld in flds: print "FLD", fld.name()
self.assertEqual(len(flds), 1)
self.assertEqual(flds[0].name(), "flddouble")
@ -984,7 +984,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
fld1 = QgsField("fld1", QVariant.Int, "integer")
def checkAfter(): # layer should be unchanged
flds = layer.pendingFields()
flds = layer.fields()
self.assertEqual(len(flds), 2)
self.assertEqual(flds[0].name(), "fldtxt")
self.assertEqual(flds[1].name(), "fldint")
@ -1030,13 +1030,13 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
newF.setAttributes(["hello", 42])
def checkBefore():
self.assertEqual(len(layer.pendingFields()), 2)
self.assertEqual(len(layer.fields()), 2)
# check feature
with self.assertRaises(StopIteration):
next(layer.getFeatures())
def checkAfter1():
self.assertEqual(len(layer.pendingFields()), 2)
self.assertEqual(len(layer.fields()), 2)
# check feature
f = next(layer.getFeatures())
attrs = f.attributes()
@ -1045,7 +1045,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
self.assertEqual(attrs[1], 42)
def checkAfter2():
self.assertEqual(len(layer.pendingFields()), 1)
self.assertEqual(len(layer.fields()), 1)
# check feature
f = next(layer.getFeatures())
attrs = f.attributes()
@ -1310,7 +1310,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
def test_fields(self):
layer = createLayerWithOnePoint()
flds = layer.pendingFields()
flds = layer.fields()
self.assertEqual(flds.indexFromName("fldint"), 1)
self.assertEqual(flds.indexFromName("fldXXX"), -1)
@ -1379,7 +1379,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
layer.addJoin(join2)
flds = layer.pendingFields()
flds = layer.fields()
self.assertEqual(len(flds), 6)
self.assertEqual(flds[2].name(), "joinlayer_x")
self.assertEqual(flds[3].name(), "joinlayer_z")
@ -1688,7 +1688,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
def test_ExpressionField(self):
layer = createLayerWithOnePoint()
cnt = layer.pendingFields().count()
cnt = layer.fields().count()
idx = layer.addExpressionField('5', QgsField('test', QVariant.LongLong))
@ -1708,7 +1708,7 @@ class TestQgsVectorLayer(unittest.TestCase, FeatureSourceTestCase):
layer.removeExpressionField(idx)
self.assertEqual(layer.pendingFields().count(), cnt)
self.assertEqual(layer.fields().count(), cnt)
# expression field which references itself
idx = layer.addExpressionField('sum(test2)', QgsField('test2', QVariant.LongLong))