mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-15 00:02:52 -04:00
Merge pull request #6251 from elpaso/bugfix-17975-server-layer-groups-order
[bugfix][server] WMS respect order of grouped layers
This commit is contained in:
commit
7bf0a7f714
@ -2612,7 +2612,7 @@ namespace QgsWms
|
||||
{
|
||||
layer->readSld( namedElem, err );
|
||||
layer->setCustomProperty( "readSLD", true );
|
||||
layers.append( layer );
|
||||
layers.insert( 0, layer );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2676,7 +2676,7 @@ namespace QgsWms
|
||||
throw QgsMapServiceException( QStringLiteral( "StyleNotDefined" ), QStringLiteral( "Style \"%1\" does not exist for layer \"%2\"" ).arg( style, layerNickname( *layer ) ) );
|
||||
}
|
||||
}
|
||||
layers.append( layer );
|
||||
layers.insert( 0, layer );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -890,12 +890,15 @@ class TestQgsServerWMSGetMap(QgsServerTestBase):
|
||||
self._img_diff_error(r, h, "WMS_GetMap_SLDRestored")
|
||||
|
||||
def test_wms_getmap_group(self):
|
||||
"""A WMS shall render the requested layers by drawing the leftmost in the list
|
||||
bottommost, the next one over that, and so on."""
|
||||
|
||||
qs = "?" + "&".join(["%s=%s" % i for i in list({
|
||||
"MAP": urllib.parse.quote(self.projectGroupsPath),
|
||||
"SERVICE": "WMS",
|
||||
"VERSION": "1.1.1",
|
||||
"REQUEST": "GetMap",
|
||||
"LAYERS": "Country,Country_Labels,Country_Diagrams",
|
||||
"LAYERS": "Country_Diagrams,Country_Labels,Country",
|
||||
"STYLES": "",
|
||||
"FORMAT": "image/png",
|
||||
"BBOX": "-16817707,-4710778,5696513,14587125",
|
||||
@ -921,6 +924,16 @@ class TestQgsServerWMSGetMap(QgsServerTestBase):
|
||||
}.items())])
|
||||
|
||||
r_group, _ = self._result(self._execute_request(qs))
|
||||
|
||||
""" Debug check:
|
||||
f = open('grouped.png', 'wb+')
|
||||
f.write(r_group)
|
||||
f.close()
|
||||
f = open('individual.png', 'wb+')
|
||||
f.write(r_individual)
|
||||
f.close()
|
||||
#"""
|
||||
|
||||
self.assertEqual(r_individual, r_group, 'Individual layers query and group layers query results should be identical')
|
||||
|
||||
qs = "?" + "&".join(["%s=%s" % i for i in list({
|
||||
|
Loading…
x
Reference in New Issue
Block a user