mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-16 02:32:53 +00:00
Reverse known direction dependent tags other than `oneway`.
We assume that correcting a backwards oneway is the primary
reason for reversing a way.
The following transforms are performed:
Keys:
*:right=* ⟺ *:left=*
*:forward=* ⟺ *:backward=*
direction=up ⟺ direction=down
incline=up ⟺ incline=down
*=right ⟺ *=left
Relation members:
role=forward ⟺ role=backward
In addition, numeric-valued `incline` tags are negated.
The JOSM implementation was used as a guide, but transformations that
were of unclear benefit or adjusted tags that don't seem to be used
in practice were omitted.
References:
http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right
http://wiki.openstreetmap.org/wiki/Key:direction#Steps
http://wiki.openstreetmap.org/wiki/Key:incline
http://wiki.openstreetmap.org/wiki/Route#Members
http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java
Fixes #299.
148 lines
6.0 KiB
HTML
148 lines
6.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset='utf-8'>
|
|
<title>Mocha Tests</title>
|
|
<link rel="stylesheet" href="lib/mocha.css">
|
|
</head>
|
|
<body>
|
|
<div id="mocha"></div>
|
|
|
|
<script src="lib/mocha.js"></script>
|
|
<script src="lib/chai.js"></script>
|
|
<script src="lib/sinon.js"></script>
|
|
<script src="lib/sinon-chai.js"></script>
|
|
<script src="lib/bind-shim.js"></script>
|
|
<script src="lib/happen.js"></script>
|
|
|
|
<!-- include source files here... -->
|
|
<script src='../js/lib/lodash.js'></script>
|
|
<script src='../js/lib/d3.v3.js'></script>
|
|
<script src='../js/lib/sha.js'></script>
|
|
<script src='../js/lib/d3.geo.tile.js'></script>
|
|
<script src='../js/lib/d3.keybinding.js'></script>
|
|
<script src='../js/lib/d3.size.js'></script>
|
|
<script src='../js/lib/d3.trigger.js'></script>
|
|
<script src='../js/lib/d3.typeahead.js'></script>
|
|
<script src='../js/lib/d3.one.js'></script>
|
|
<script src='../js/lib/ohauth.js'></script>
|
|
<script src='../js/lib/jxon.js'></script>
|
|
|
|
<script src='../js/id/id.js'></script>
|
|
<script src='../js/id/util.js'></script>
|
|
<script src='../js/id/oauth.js'></script>
|
|
<script src='../js/id/taginfo.js'></script>
|
|
<script src='../js/id/renderer/style.js'></script>
|
|
|
|
<script src='../js/id/renderer/background.js'></script>
|
|
<script src='../js/id/renderer/background_source.js'></script>
|
|
<script src='../js/id/renderer/map.js'></script>
|
|
<script src='../js/id/renderer/hash.js'></script>
|
|
<script src='../js/id/renderer/points.js'></script>
|
|
<script src='../js/id/renderer/style.js'></script>
|
|
<script src='../js/id/ui/inspector.js'></script>
|
|
<script src='../js/id/ui/commit.js'></script>
|
|
<script src='../js/id/ui/loading.js'></script>
|
|
<script src='../js/id/ui/userpanel.js'></script>
|
|
<script src='../js/id/ui/geocoder.js'></script>
|
|
<script src='../js/id/ui/notice.js'></script>
|
|
|
|
<script src='../js/id/actions.js'></script>
|
|
<script src='../js/id/actions/add_node.js'></script>
|
|
<script src='../js/id/actions/add_way.js'></script>
|
|
<script src='../js/id/actions/add_way_node.js'></script>
|
|
<script src='../js/id/actions/change_entity_tags.js'></script>
|
|
<script src="../js/id/actions/delete_node.js"></script>
|
|
<script src="../js/id/actions/delete_way.js"></script>
|
|
<script src='../js/id/actions/move_node.js'></script>
|
|
<script src='../js/id/actions/move_way.js'></script>
|
|
<script src='../js/id/actions/noop.js'></script>
|
|
<script src='../js/id/actions/remove_relation_member.js'></script>
|
|
<script src='../js/id/actions/remove_way_node.js'></script>
|
|
<script src='../js/id/actions/reverse_way.js'></script>
|
|
<script src='../js/id/actions/update_relation_member.js'></script>
|
|
|
|
<script src='../js/id/behavior.js'></script>
|
|
<script src='../js/id/behavior/drag.js'></script>
|
|
<script src='../js/id/behavior/drag_accuracy_handle.js'></script>
|
|
<script src='../js/id/behavior/drag_node.js'></script>
|
|
<script src='../js/id/behavior/drag_way.js'></script>
|
|
<script src='../js/id/behavior/hover.js'></script>
|
|
|
|
<script src='../js/id/modes.js'></script>
|
|
<script src='../js/id/modes/add_area.js'></script>
|
|
<script src='../js/id/modes/add_point.js'></script>
|
|
<script src='../js/id/modes/add_line.js'></script>
|
|
<script src='../js/id/modes/browse.js'></script>
|
|
<script src='../js/id/modes/draw_area.js'></script>
|
|
<script src='../js/id/modes/draw_line.js'></script>
|
|
<script src='../js/id/modes/select.js'></script>
|
|
|
|
<script src='../js/id/controller/controller.js'></script>
|
|
|
|
<script src='../js/id/format/format.js'></script>
|
|
<script src='../js/id/format/geojson.js'></script>
|
|
<script src='../js/id/format/xml.js'></script>
|
|
|
|
<script src='../js/id/graph/entity.js'></script>
|
|
<script src='../js/id/graph/graph.js'></script>
|
|
<script src='../js/id/graph/history.js'></script>
|
|
<script src='../js/id/graph/node.js'></script>
|
|
<script src='../js/id/graph/relation.js'></script>
|
|
<script src='../js/id/graph/way.js'></script>
|
|
|
|
<script src='../js/id/connection.js'></script>
|
|
|
|
<script>
|
|
iD.debug = true;
|
|
mocha.setup('bdd');
|
|
var expect = chai.expect;
|
|
</script>
|
|
|
|
<!-- include spec files here... -->
|
|
<script src="spec/actions/add_node.js"></script>
|
|
<script src="spec/actions/add_way.js"></script>
|
|
<script src="spec/actions/add_way_node.js"></script>
|
|
<script src="spec/actions/change_entity_tags.js"></script>
|
|
<script src="spec/actions/delete_node.js"></script>
|
|
<script src="spec/actions/delete_way.js"></script>
|
|
<script src="spec/actions/move_node.js"></script>
|
|
<script src="spec/actions/move_way.js"></script>
|
|
<script src="spec/actions/noop.js"></script>
|
|
<script src="spec/actions/remove_way_node.js"></script>
|
|
<script src="spec/actions/remove_relation_member.js"></script>
|
|
<script src="spec/actions/reverse_way.js"></script>
|
|
<script src="spec/actions/update_relation_member.js"></script>
|
|
|
|
<script src="spec/behavior/hover.js"></script>
|
|
|
|
<script src="spec/format/geojson.js"></script>
|
|
<script src="spec/format/xml.js"></script>
|
|
|
|
<script src="spec/graph/graph.js"></script>
|
|
<script src="spec/graph/entity.js"></script>
|
|
<script src="spec/graph/node.js"></script>
|
|
<script src="spec/graph/way.js"></script>
|
|
<script src="spec/graph/relation.js"></script>
|
|
<script src="spec/graph/history.js"></script>
|
|
|
|
<script src="spec/modes/add_point.js"></script>
|
|
|
|
<script src="spec/renderer/background.js"></script>
|
|
<script src="spec/renderer/hash.js"></script>
|
|
<script src="spec/renderer/map.js"></script>
|
|
<script src="spec/renderer/style.js"></script>
|
|
|
|
<script src="spec/ui/inspector.js"></script>
|
|
<script src="spec/ui/geocoder.js"></script>
|
|
<script src="spec/connection.js"></script>
|
|
<script src="spec/oauth.js"></script>
|
|
<script src="spec/taginfo.js"></script>
|
|
<script src="spec/util.js"></script>
|
|
|
|
<script>
|
|
(window.mochaPhantomJS || window.mocha).run();
|
|
</script>
|
|
</body>
|
|
</html>
|