@@ -399,17 +399,34 @@ def test_metadata_filter(self):
399399 self .assertEqual (ChangesetFilter ({'metadata' : 'wrongtag__min=abc' }).qs .count (), 0 )
400400 self .assertEqual (ChangesetFilter ({'metadata' : 'closed:improveosm=*' }).qs .count (), 1 )
401401
402+ def test_all_tag_changes_filter (self ):
403+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'amenity=*' }).qs .count (), 1 )
404+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'highway=*' }).qs .count (), 2 )
405+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'surface=grass' }).qs .count (), 1 )
406+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'highway=primary' }).qs .count (), 1 )
407+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'highway=tertiary' }).qs .count (), 2 )
408+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'highway=tertiary_link' }).qs .count (), 1 )
409+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'highway=tertiary,name=*' }).qs .count (), 1 )
410+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'highway=tertiary_link,surface=*' }).qs .count (), 1 )
411+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'highway=tertiary_link,name=Sky' }).qs .count (), 0 )
412+ self .assertEqual (ChangesetFilter ({'all_tag_changes' : 'highway=tertiary_link,highway=primary' }).qs .count (), 0 )
413+
402414 def test_tag_changes_filter (self ):
403- self . assertEqual ( ChangesetFilter ({ 'tag_changes' : 'highway=*' }). qs . count (), 2 )
415+ # with one tag, the result is the same as all_tag_changes
404416 self .assertEqual (ChangesetFilter ({'tag_changes' : 'amenity=*' }).qs .count (), 1 )
417+ self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=*' }).qs .count (), 2 )
405418 self .assertEqual (ChangesetFilter ({'tag_changes' : 'surface=grass' }).qs .count (), 1 )
406419 self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=primary' }).qs .count (), 1 )
407420 self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary' }).qs .count (), 2 )
408421 self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary_link' }).qs .count (), 1 )
409- self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary,name=*' }).qs .count (), 1 )
410- self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary_link,surface=*' }).qs .count (), 1 )
411- self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary_link,name=Sky' }).qs .count (), 0 )
412- self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary_link,highway=primary' }).qs .count (), 0 )
422+ # with multiple tags, it filters using the OR condition
423+ self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary_link,highway=primary' }).qs .count (), 2 )
424+ self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary,surface=*' }).qs .count (), 2 )
425+ self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary_link,name=Sky' }).qs .count (), 1 )
426+ self .assertEqual (ChangesetFilter ({'tag_changes' : 'highway=tertiary_link,highway=primary' }).qs .count (), 2 )
427+ self .assertEqual (ChangesetFilter ({'tag_changes' : 'name=Store,surface=paved' }).qs .count (), 3 )
428+ self .assertEqual (ChangesetFilter ({'tag_changes' : 'landuse=residential,waterway=river' }).qs .count (), 0 )
429+
413430
414431
415432class TestChangesetAreaLowerThan (TestCase ):
0 commit comments