Working on testing against Mapbox GL JS filter tests

This commit is contained in:
Eric Fischer
2017-09-01 16:27:27 -07:00
parent 0fd4454129
commit c232e565db
8 changed files with 1060 additions and 6 deletions
+9 -6
View File
@@ -514,22 +514,18 @@ int serialize_feature(struct serialization_state *sst, serial_feature &sf) {
for (size_t i = 0; i < sf.full_keys.size(); i++) {
if (sst->exclude_all) {
if (sst->include->count(sf.full_keys[i]) == 0) {
if (sst->include->count(sf.full_keys[i]) == 0 && sf.full_keys[i] != "") {
sf.full_keys[i] = "";
sf.m--;
continue;
}
} else if (sst->exclude->count(sf.full_keys[i]) != 0) {
} else if (sst->exclude->count(sf.full_keys[i]) != 0 && sf.full_keys[i] != "") {
sf.full_keys[i] = "";
sf.m--;
continue;
}
coerce_value(sf.full_keys[i], sf.full_values[i].type, sf.full_values[i].s, sst->attribute_types);
if (sf.full_values[i].type == mvt_null) {
sf.full_keys[i] = "";
sf.m--;
}
}
if (sst->filter != NULL) {
@@ -570,6 +566,13 @@ int serialize_feature(struct serialization_state *sst, serial_feature &sf) {
}
}
for (size_t i = 0; i < sf.full_keys.size(); i++) {
if (sf.full_values[i].type == mvt_null && sf.full_keys[i] != "") {
sf.full_keys[i] = "";
sf.m--;
}
}
if (!sst->filters) {
for (size_t i = 0; i < sf.full_keys.size(); i++) {
if (sf.full_keys[i].size() == 0) {