Add ability to ignore warnings

Replace issue's array of entities with array of entity IDs
Improve issue ID hashing
This commit is contained in:
Quincy Morgan
2019-04-29 17:52:32 -07:00
parent 4215db39a2
commit 375779882d
34 changed files with 179 additions and 143 deletions
+2 -2
View File
@@ -36,8 +36,8 @@ describe('iD.validations.validator', function () {
expect(issues).to.have.lengthOf(1);
var issue = issues[0];
expect(issue.type).to.eql('missing_tag');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
});
+1 -1
View File
@@ -561,7 +561,7 @@ describe('maprules', function() {
var type = Object.keys(selector).indexOf('error') ? 'error' : 'warning';
expect(issues.length).to.eql(1);
expect(issue.entities).to.eql([entity]);
expect(issue.entityIds).to.eql([entity.id]);
expect(issue.message).to.eql(selector[type]);
expect(type).to.eql(issue.severity);
});
+8 -8
View File
@@ -148,10 +148,10 @@ describe('iD.validations.almost_junction', function () {
expect(issues).to.have.lengthOf(1);
var issue = issues[0];
expect(issue.type).to.eql('almost_junction');
expect(issue.entities).to.have.lengthOf(3);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entities[1].id).to.eql('n-1');
expect(issue.entities[2].id).to.eql('w-2');
expect(issue.entityIds).to.have.lengthOf(3);
expect(issue.entityIds[0]).to.eql('w-1');
expect(issue.entityIds[1]).to.eql('n-1');
expect(issue.entityIds[2]).to.eql('w-2');
expect(issue.loc).to.have.lengthOf(2);
expect(issue.loc[0]).to.eql(22.42357);
@@ -177,10 +177,10 @@ describe('iD.validations.almost_junction', function () {
expect(issues).to.have.lengthOf(1);
var issue = issues[0];
expect(issue.type).to.eql('almost_junction');
expect(issue.entities).to.have.lengthOf(3);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entities[1].id).to.eql('n-1');
expect(issue.entities[2].id).to.eql('w-2');
expect(issue.entityIds).to.have.lengthOf(3);
expect(issue.entityIds[0]).to.eql('w-1');
expect(issue.entityIds[1]).to.eql('n-1');
expect(issue.entityIds[2]).to.eql('w-2');
expect(issue.loc).to.have.lengthOf(2);
expect(issue.loc[0]).to.eql(22.42357);
+3 -3
View File
@@ -67,7 +67,7 @@ describe('iD.validations.crossing_ways', function () {
function verifySingleCrossingIssue(issues) {
var issue = issues[0];
expect(issue.type).to.eql('crossing_ways');
expect(issue.entities).to.have.lengthOf(2);
expect(issue.entityIds).to.have.lengthOf(2);
expect(issue.loc).to.have.lengthOf(2);
expect(issue.loc[0]).to.eql(1.5);
@@ -224,7 +224,7 @@ describe('iD.validations.crossing_ways', function () {
expect(issues).to.have.lengthOf(4);
var issue = issues[0];
expect(issue.type).to.eql('crossing_ways');
expect(issue.entities).to.have.lengthOf(2);
expect(issue.entityIds).to.have.lengthOf(2);
expect(issue.loc).to.have.lengthOf(2);
expect(issue.loc[0]).to.eql(1.5);
@@ -232,7 +232,7 @@ describe('iD.validations.crossing_ways', function () {
issue = issues[1];
expect(issue.type).to.eql('crossing_ways');
expect(issue.entities).to.have.lengthOf(2);
expect(issue.entityIds).to.have.lengthOf(2);
expect(issue.loc).to.have.lengthOf(2);
expect(issue.loc[0]).to.eql(2.5);
+6 -6
View File
@@ -56,8 +56,8 @@ describe('iD.validations.disconnected_way', function () {
var issue = issues[0];
expect(issue.type).to.eql('disconnected_way');
expect(issue.severity).to.eql('warning');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
it('flags highway connected only to service area', function() {
@@ -67,8 +67,8 @@ describe('iD.validations.disconnected_way', function () {
var issue = issues[0];
expect(issue.type).to.eql('disconnected_way');
expect(issue.severity).to.eql('warning');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
it('flags disconnected highway with disconnected entrance vertex', function() {
@@ -87,8 +87,8 @@ describe('iD.validations.disconnected_way', function () {
var issue = issues[0];
expect(issue.type).to.eql('disconnected_way');
expect(issue.severity).to.eql('warning');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
it('ignores highways that are connected', function() {
+6 -6
View File
@@ -65,8 +65,8 @@ describe('iD.validations.generic_name', function () {
expect(issues).to.have.lengthOf(1);
var issue = issues[0];
expect(issue.type).to.eql('generic_name');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
it('flags feature with a name that is just a defining tag key', function() {
@@ -75,8 +75,8 @@ describe('iD.validations.generic_name', function () {
expect(issues).to.have.lengthOf(1);
var issue = issues[0];
expect(issue.type).to.eql('generic_name');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
it('flags feature with a name that is just a defining tag value', function() {
@@ -85,8 +85,8 @@ describe('iD.validations.generic_name', function () {
expect(issues).to.have.lengthOf(1);
var issue = issues[0];
expect(issue.type).to.eql('generic_name');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
});
+2 -2
View File
@@ -53,8 +53,8 @@ describe('iD.validations.incompatible_source', function () {
expect(issues).to.have.lengthOf(1);
var issue = issues[0];
expect(issue.type).to.eql('incompatible_source');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
});
+6 -6
View File
@@ -80,9 +80,9 @@ describe('iD.validations.missing_role', function () {
expect(issues[0].id).to.eql(issues[1].id);
var issue = issues[0];
expect(issue.type).to.eql('missing_role');
expect(issue.entities).to.have.lengthOf(2);
expect(issue.entities[0].id).to.eql('r-1');
expect(issue.entities[1].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(2);
expect(issue.entityIds[0]).to.eql('r-1');
expect(issue.entityIds[1]).to.eql('w-1');
});
it('flags way with whitespace string role in multipolygon', function() {
@@ -92,9 +92,9 @@ describe('iD.validations.missing_role', function () {
expect(issues[0].id).to.eql(issues[1].id);
var issue = issues[0];
expect(issue.type).to.eql('missing_role');
expect(issue.entities).to.have.lengthOf(2);
expect(issue.entities[0].id).to.eql('r-1');
expect(issue.entities[1].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(2);
expect(issue.entityIds[0]).to.eql('r-1');
expect(issue.entityIds[1]).to.eql('w-1');
});
});
+10 -10
View File
@@ -68,8 +68,8 @@ describe('iD.validations.missing_tag', function () {
var issue = issues[0];
expect(issue.type).to.eql('missing_tag');
expect(issue.subtype).to.eql('any');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
it('flags no descriptive tags', function() {
@@ -79,8 +79,8 @@ describe('iD.validations.missing_tag', function () {
var issue = issues[0];
expect(issue.type).to.eql('missing_tag');
expect(issue.subtype).to.eql('descriptive');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
it('flags no descriptive tags on multipolygon', function() {
@@ -90,8 +90,8 @@ describe('iD.validations.missing_tag', function () {
var issue = issues[0];
expect(issue.type).to.eql('missing_tag');
expect(issue.subtype).to.eql('descriptive');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('r-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('r-1');
});
it('flags no type tag on relation', function() {
@@ -101,8 +101,8 @@ describe('iD.validations.missing_tag', function () {
var issue = issues[0];
expect(issue.type).to.eql('missing_tag');
expect(issue.subtype).to.eql('relation_type');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('r-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('r-1');
});
it('ignores highway with classification', function() {
@@ -118,8 +118,8 @@ describe('iD.validations.missing_tag', function () {
var issue = issues[0];
expect(issue.type).to.eql('missing_tag');
expect(issue.subtype).to.eql('highway_classification');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
});
+5 -5
View File
@@ -63,8 +63,8 @@ describe('iD.validations.outdated_tags', function () {
expect(issue.type).to.eql('outdated_tags');
expect(issue.subtype).to.eql('deprecated_tags');
expect(issue.severity).to.eql('warning');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
@@ -87,9 +87,9 @@ describe('iD.validations.outdated_tags', function () {
var issue = issues[0];
expect(issue.type).to.eql('outdated_tags');
expect(issue.subtype).to.eql('old_multipolygon');
expect(issue.entities).to.have.lengthOf(2);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entities[1].id).to.eql('r-1');
expect(issue.entityIds).to.have.lengthOf(2);
expect(issue.entityIds[0]).to.eql('w-1');
expect(issue.entityIds[1]).to.eql('r-1');
});
});
+2 -2
View File
@@ -65,8 +65,8 @@ describe('iD.validations.private_data', function () {
expect(issues).to.have.lengthOf(1);
var issue = issues[0];
expect(issue.type).to.eql('private_data');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
});
+4 -4
View File
@@ -88,8 +88,8 @@ describe('iD.validations.tag_suggests_area', function () {
var issue = issues[0];
expect(issue.type).to.eql('tag_suggests_area');
expect(issue.severity).to.eql('warning');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
it('flags open way with both area and line tags', function() {
@@ -99,8 +99,8 @@ describe('iD.validations.tag_suggests_area', function () {
var issue = issues[0];
expect(issue.type).to.eql('tag_suggests_area');
expect(issue.severity).to.eql('warning');
expect(issue.entities).to.have.lengthOf(1);
expect(issue.entities[0].id).to.eql('w-1');
expect(issue.entityIds).to.have.lengthOf(1);
expect(issue.entityIds[0]).to.eql('w-1');
});
});