From ad39e0ba227e0bfb179d1dfee304a6e8e18fb210 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Wed, 8 Jul 2015 18:17:55 -0700 Subject: [PATCH] fix issue #370 --- lib/carto/tree/filterset.js | 8 -------- test/filterset.test.js | 4 ++-- test/rendering-mss/issue_370.mss | 3 +++ test/rendering-mss/issue_370.xml | 6 ++++++ test/rendering-mss/issue_370_b.mss | 3 +++ test/rendering-mss/issue_370_b.xml | 6 ++++++ 6 files changed, 20 insertions(+), 10 deletions(-) create mode 100644 test/rendering-mss/issue_370.mss create mode 100644 test/rendering-mss/issue_370.xml create mode 100644 test/rendering-mss/issue_370_b.mss create mode 100644 test/rendering-mss/issue_370_b.xml diff --git a/lib/carto/tree/filterset.js b/lib/carto/tree/filterset.js index c4f1d6f8c..8298358a9 100644 --- a/lib/carto/tree/filterset.js +++ b/lib/carto/tree/filterset.js @@ -209,14 +209,6 @@ tree.Filterset.prototype.add = function(filter, env) { } else if (op === '=~') { this.filters[key + '=~' + filter.val] = filter; } else if (op === '>') { - // If there are other filters that are also > - // but are less than this one, they don't matter, so - // remove them. - for (var j in this.filters) { - if (this.filters[j].key == key && this.filters[j].val <= filter.val) { - delete this.filters[j]; - } - } this.filters[key + '>'] = filter; } else if (op === '>=') { for (var k in this.filters) { diff --git a/test/filterset.test.js b/test/filterset.test.js index 57500ae7f..935c6127d 100644 --- a/test/filterset.test.js +++ b/test/filterset.test.js @@ -225,12 +225,12 @@ describe('Filtersets', function() { f = new tree.Filterset(); f.add({ key: 'TOTAL', op: '!=', val: '11' }); f.add({ key: 'TOTAL', op: '>', val: 11 }); - assert.deepEqual(f.filters, { 'TOTAL>': { key: 'TOTAL', op: '>', val: 11 }}); + assert.deepEqual(f.filters, {"TOTAL!=11":{"key":"TOTAL","op":"!=","val":"11"},"TOTAL>":{"key":"TOTAL","op":">","val":11}}); f = new tree.Filterset(); f.add({ key: 'TOTAL', op: '!=', val: '11' }); f.add({ key: 'TOTAL', op: '>', val: 90 }); - assert.deepEqual(f.filters, { 'TOTAL>': { key: 'TOTAL', op: '>', val: 90 }}); + assert.deepEqual(f.filters, {"TOTAL!=11":{"key":"TOTAL","op":"!=","val":"11"},"TOTAL>":{"key":"TOTAL","op":">","val":90}}); f = new tree.Filterset(); f.add({ key: 'TOTAL', op: '!=', val: '11' }); diff --git a/test/rendering-mss/issue_370.mss b/test/rendering-mss/issue_370.mss new file mode 100644 index 000000000..6cd02b14a --- /dev/null +++ b/test/rendering-mss/issue_370.mss @@ -0,0 +1,3 @@ +[way_pixels < 192000][way_pixels > 3000] { + line-width: 1; +} \ No newline at end of file diff --git a/test/rendering-mss/issue_370.xml b/test/rendering-mss/issue_370.xml new file mode 100644 index 000000000..ef7c57320 --- /dev/null +++ b/test/rendering-mss/issue_370.xml @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/test/rendering-mss/issue_370_b.mss b/test/rendering-mss/issue_370_b.mss new file mode 100644 index 000000000..97acbdc77 --- /dev/null +++ b/test/rendering-mss/issue_370_b.mss @@ -0,0 +1,3 @@ +[way_pixels <= 192000][way_pixels >= 3000] { + line-width: 1; +} \ No newline at end of file diff --git a/test/rendering-mss/issue_370_b.xml b/test/rendering-mss/issue_370_b.xml new file mode 100644 index 000000000..4c3a29d02 --- /dev/null +++ b/test/rendering-mss/issue_370_b.xml @@ -0,0 +1,6 @@ + \ No newline at end of file