mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-16 13:59:27 +02:00
Reverse internal left/right/forward/backward keyparts
(closes #6235) Previously only trailing keyparts would reverse: `cycleway:left` ⟺ `cycleway:right` Now it can do internal keyparts too: `cycleway:left:surface` ⟺ `cycleway:right:surface`
This commit is contained in:
@@ -25,7 +25,11 @@ export function actionReverse(wayID, options) {
|
||||
[/:right$/, ':left'],
|
||||
[/:left$/, ':right'],
|
||||
[/:forward$/, ':backward'],
|
||||
[/:backward$/, ':forward']
|
||||
[/:backward$/, ':forward'],
|
||||
[/:right:/, ':left:'],
|
||||
[/:left:/, ':right:'],
|
||||
[/:forward:/, ':backward:'],
|
||||
[/:backward:/, ':forward:']
|
||||
];
|
||||
var valueReplacements = {
|
||||
left: 'right',
|
||||
|
||||
@@ -103,6 +103,17 @@ describe('iD.actionReverse', function () {
|
||||
expect(graph.entity(way.id).tags).to.eql({'cycleway:right': 'lane'});
|
||||
});
|
||||
|
||||
it('transforms *:right:*=* ⟺ *:left:*=*', function () {
|
||||
var way = iD.osmWay({tags: {'cycleway:right:surface': 'paved'}});
|
||||
var graph = iD.coreGraph([way]);
|
||||
|
||||
graph = iD.actionReverse(way.id)(graph);
|
||||
expect(graph.entity(way.id).tags).to.eql({'cycleway:left:surface': 'paved'});
|
||||
|
||||
graph = iD.actionReverse(way.id)(graph);
|
||||
expect(graph.entity(way.id).tags).to.eql({'cycleway:right:surface': 'paved'});
|
||||
});
|
||||
|
||||
it('transforms *:forward=* ⟺ *:backward=*', function () {
|
||||
var way = iD.osmWay({tags: {'maxspeed:forward': '25'}});
|
||||
var graph = iD.coreGraph([way]);
|
||||
|
||||
Reference in New Issue
Block a user