Code formatting

This commit is contained in:
Bryan Housel
2018-01-09 11:41:54 -05:00
parent 239bc8ffb9
commit 748abdb950
2 changed files with 642 additions and 598 deletions
+539 -505
View File
File diff suppressed because it is too large Load Diff
+103 -93
View File
@@ -1,91 +1,101 @@
describe('iD.osmIsSimpleMultipolygonOuterMember', function() {
it('returns the parent relation of a simple multipolygon outer', function() {
var outer = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'multipolygon'},
members: [{id: outer.id, role: 'outer'}]}),
graph = iD.Graph([outer, relation]);
var outer = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {type: 'multipolygon'}, members: [{id: outer.id, role: 'outer'}]}
);
var graph = iD.coreGraph([outer, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer, graph)).to.equal(relation);
});
it('returns the parent relation of a simple multipolygon outer, assuming role outer if unspecified', function() {
var outer = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'multipolygon'},
members: [{id: outer.id}]}),
graph = iD.Graph([outer, relation]);
var outer = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {type: 'multipolygon'}, members: [{id: outer.id}]}
);
var graph = iD.coreGraph([outer, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer, graph)).to.equal(relation);
});
it('returns false if entity is not a way', function() {
var outer = iD.Node({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'multipolygon'},
members: [{id: outer.id, role: 'outer'}]}),
graph = iD.Graph([outer, relation]);
var outer = iD.osmNode({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {type: 'multipolygon'}, members: [{id: outer.id, role: 'outer'}]}
);
var graph = iD.coreGraph([outer, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer, graph)).to.be.false;
});
it('returns false if entity does not have interesting tags', function() {
var outer = iD.Way({tags: {'tiger:reviewed':'no'}}),
relation = iD.Relation({tags: {type: 'multipolygon'},
members: [{id: outer.id, role: 'outer'}]}),
graph = iD.Graph([outer, relation]);
var outer = iD.osmWay({tags: {'tiger:reviewed':'no'}});
var relation = iD.osmRelation(
{tags: {type: 'multipolygon'}, members: [{id: outer.id, role: 'outer'}]}
);
var graph = iD.coreGraph([outer, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer, graph)).to.be.false;
});
it('returns false if entity does not have a parent relation', function() {
var outer = iD.Way({tags: {'natural':'wood'}}),
graph = iD.Graph([outer]);
var outer = iD.osmWay({tags: {'natural':'wood'}});
var graph = iD.coreGraph([outer]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer, graph)).to.be.false;
});
it('returns false if the parent is not a multipolygon', function() {
var outer = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'route'},
members: [{id: outer.id, role: 'outer'}]}),
graph = iD.Graph([outer, relation]);
var outer = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {type: 'route'}, members: [{id: outer.id, role: 'outer'}]}
);
var graph = iD.coreGraph([outer, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer, graph)).to.be.false;
});
it('returns false if the parent has interesting tags', function() {
var outer = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {natural: 'wood', type: 'multipolygon'},
members: [{id: outer.id, role: 'outer'}]}),
graph = iD.Graph([outer, relation]);
var outer = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {natural: 'wood', type: 'multipolygon'}, members: [{id: outer.id, role: 'outer'}]}
);
var graph = iD.coreGraph([outer, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer, graph)).to.be.false;
});
it('returns the parent relation of a simple multipolygon outer, ignoring uninteresting parent tags', function() {
var outer = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {'tiger:reviewed':'no', type: 'multipolygon'},
members: [{id: outer.id, role: 'outer'}]}),
graph = iD.Graph([outer, relation]);
var outer = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {'tiger:reviewed':'no', type: 'multipolygon'}, members: [{id: outer.id, role: 'outer'}]}
);
var graph = iD.coreGraph([outer, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer, graph)).to.equal(relation);
});
it('returns false if the parent has multiple outer ways', function() {
var outer1 = iD.Way({tags: {'natural':'wood'}}),
outer2 = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'multipolygon'},
members: [{id: outer1.id, role: 'outer'}, {id: outer2.id, role: 'outer'}]}),
graph = iD.Graph([outer1, outer2, relation]);
var outer1 = iD.osmWay({tags: {'natural':'wood'}});
var outer2 = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {type: 'multipolygon'}, members: [{id: outer1.id, role: 'outer'}, {id: outer2.id, role: 'outer'}]}
);
var graph = iD.coreGraph([outer1, outer2, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer1, graph)).to.be.false;
expect(iD.osmIsSimpleMultipolygonOuterMember(outer2, graph)).to.be.false;
});
it('returns false if the parent has multiple outer ways, assuming role outer if unspecified', function() {
var outer1 = iD.Way({tags: {'natural':'wood'}}),
outer2 = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'multipolygon'},
members: [{id: outer1.id}, {id: outer2.id}]}),
graph = iD.Graph([outer1, outer2, relation]);
var outer1 = iD.osmWay({tags: {'natural':'wood'}});
var outer2 = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {type: 'multipolygon'}, members: [{id: outer1.id}, {id: outer2.id}]}
);
var graph = iD.coreGraph([outer1, outer2, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(outer1, graph)).to.be.false;
expect(iD.osmIsSimpleMultipolygonOuterMember(outer2, graph)).to.be.false;
});
it('returns false if the entity is not an outer', function() {
var inner = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'multipolygon'},
members: [{id: inner.id, role: 'inner'}]}),
graph = iD.Graph([inner, relation]);
var inner = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation(
{tags: {type: 'multipolygon'}, members: [{id: inner.id, role: 'inner'}]}
);
var graph = iD.coreGraph([inner, relation]);
expect(iD.osmIsSimpleMultipolygonOuterMember(inner, graph)).to.be.false;
});
});
@@ -93,28 +103,28 @@ describe('iD.osmIsSimpleMultipolygonOuterMember', function() {
describe('iD.osmSimpleMultipolygonOuterMember', function() {
it('returns the outer member of a simple multipolygon', function() {
var inner = iD.Way(),
outer = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'multipolygon'}, members: [
{id: outer.id, role: 'outer'},
{id: inner.id, role: 'inner'}]
}),
graph = iD.Graph([inner, outer, relation]);
var inner = iD.osmWay();
var outer = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation({tags: {type: 'multipolygon'}, members: [
{id: outer.id, role: 'outer'},
{id: inner.id, role: 'inner'}]
});
var graph = iD.coreGraph([inner, outer, relation]);
expect(iD.osmSimpleMultipolygonOuterMember(inner, graph)).to.equal(outer);
expect(iD.osmSimpleMultipolygonOuterMember(outer, graph)).to.equal(outer);
});
it('returns falsy for a complex multipolygon', function() {
var inner = iD.Way(),
outer1 = iD.Way({tags: {'natural':'wood'}}),
outer2 = iD.Way({tags: {'natural':'wood'}}),
relation = iD.Relation({tags: {type: 'multipolygon'}, members: [
{id: outer1.id, role: 'outer'},
{id: outer2.id, role: 'outer'},
{id: inner.id, role: 'inner'}]
}),
graph = iD.Graph([inner, outer1, outer2, relation]);
var inner = iD.osmWay();
var outer1 = iD.osmWay({tags: {'natural':'wood'}});
var outer2 = iD.osmWay({tags: {'natural':'wood'}});
var relation = iD.osmRelation({tags: {type: 'multipolygon'}, members: [
{id: outer1.id, role: 'outer'},
{id: outer2.id, role: 'outer'},
{id: inner.id, role: 'inner'}]
});
var graph = iD.coreGraph([inner, outer1, outer2, relation]);
expect(iD.osmSimpleMultipolygonOuterMember(inner, graph)).not.to.be.ok;
expect(iD.osmSimpleMultipolygonOuterMember(outer1, graph)).not.to.be.ok;
@@ -122,12 +132,12 @@ describe('iD.osmSimpleMultipolygonOuterMember', function() {
});
it('handles incomplete relations', function() {
var way = iD.Way({id: 'w'}),
relation = iD.Relation({id: 'r', tags: {type: 'multipolygon'}, members: [
{id: 'o', role: 'outer'},
{id: 'w', role: 'inner'}]
}),
graph = iD.Graph([way, relation]);
var way = iD.osmWay({id: 'w'});
var relation = iD.osmRelation({id: 'r', tags: {type: 'multipolygon'}, members: [
{id: 'o', role: 'outer'},
{id: 'w', role: 'inner'}]
});
var graph = iD.coreGraph([way, relation]);
expect(iD.osmSimpleMultipolygonOuterMember(way, graph)).not.to.be.ok;
});
@@ -136,11 +146,11 @@ describe('iD.osmSimpleMultipolygonOuterMember', function() {
describe('iD.osmJoinWays', function() {
it('returns an array of members with nodes properties', function() {
var node = iD.Node({loc: [0, 0]}),
way = iD.Way({nodes: [node.id]}),
member = {id: way.id, type: 'way'},
graph = iD.Graph([node, way]),
result = iD.osmJoinWays([member], graph);
var node = iD.osmNode({loc: [0, 0]});
var way = iD.osmWay({nodes: [node.id]});
var member = {id: way.id, type: 'way'};
var graph = iD.coreGraph([node, way]);
var result = iD.osmJoinWays([member], graph);
expect(result.length).to.equal(1);
expect(result[0].nodes.length).to.equal(1);
@@ -150,16 +160,16 @@ describe('iD.osmJoinWays', function() {
});
it('returns the members in the correct order', function() {
// a<===b--->c~~~>d
var graph = iD.Graph([
iD.Node({id: 'a', loc: [0, 0]}),
iD.Node({id: 'b', loc: [0, 0]}),
iD.Node({id: 'c', loc: [0, 0]}),
iD.Node({id: 'd', loc: [0, 0]}),
iD.Way({id: '=', nodes: ['b', 'a']}),
iD.Way({id: '-', nodes: ['b', 'c']}),
iD.Way({id: '~', nodes: ['c', 'd']}),
iD.Relation({id: 'r', members: [
// a <=== b ---> c ~~~> d
var graph = iD.coreGraph([
iD.osmNode({id: 'a', loc: [0, 0]}),
iD.osmNode({id: 'b', loc: [0, 0]}),
iD.osmNode({id: 'c', loc: [0, 0]}),
iD.osmNode({id: 'd', loc: [0, 0]}),
iD.osmWay({id: '=', nodes: ['b', 'a']}),
iD.osmWay({id: '-', nodes: ['b', 'c']}),
iD.osmWay({id: '~', nodes: ['c', 'd']}),
iD.osmRelation({id: 'r', members: [
{id: '-', type: 'way'},
{id: '~', type: 'way'},
{id: '=', type: 'way'}
@@ -176,28 +186,28 @@ describe('iD.osmJoinWays', function() {
// Expected result:
// a --> b --> c
// tags on === reversed
var graph = iD.Graph([
iD.Node({id: 'a'}),
iD.Node({id: 'b'}),
iD.Node({id: 'c'}),
iD.Way({id: '-', nodes: ['a', 'b']}),
iD.Way({id: '=', nodes: ['c', 'b'], tags: {'oneway': 'yes', 'lanes:forward': 2}})
]);
var graph = iD.coreGraph([
iD.osmNode({id: 'a'}),
iD.osmNode({id: 'b'}),
iD.osmNode({id: 'c'}),
iD.osmWay({id: '-', nodes: ['a', 'b']}),
iD.osmWay({id: '=', nodes: ['c', 'b'], tags: {'oneway': 'yes', 'lanes:forward': 2}})
]);
var result = iD.osmJoinWays([graph.entity('-'), graph.entity('=')], graph);
expect(result[0][1].tags).to.eql({'oneway': '-1', 'lanes:backward': 2});
});
it('ignores non-way members', function() {
var node = iD.Node({loc: [0, 0]}),
member = {id: 'n', type: 'node'},
graph = iD.Graph([node]);
var node = iD.osmNode({loc: [0, 0]});
var member = {id: 'n', type: 'node'};
var graph = iD.coreGraph([node]);
expect(iD.osmJoinWays([member], graph)).to.eql([]);
});
it('ignores incomplete members', function() {
var member = {id: 'w', type: 'way'},
graph = iD.Graph();
var member = {id: 'w', type: 'way'};
var graph = iD.coreGraph();
expect(iD.osmJoinWays([member], graph)).to.eql([]);
});
});