mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-26 23:43:46 +00:00
Test / fix ChangePreset action
This commit is contained in:
@@ -4,8 +4,8 @@ iD.actions.ChangePreset = function(entityId, oldPreset, newPreset) {
|
||||
geometry = entity.geometry(graph),
|
||||
tags = entity.tags;
|
||||
|
||||
tags = oldPreset.removeTags(tags, geometry);
|
||||
tags = newPreset.applyTags(tags, geometry);
|
||||
if (oldPreset) tags = oldPreset.removeTags(tags, geometry);
|
||||
if (newPreset) tags = newPreset.applyTags(tags, geometry);
|
||||
|
||||
return graph.replace(entity.update({tags: tags}));
|
||||
};
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
<script src='../js/id/actions/add_entity.js'></script>
|
||||
<script src='../js/id/actions/add_vertex.js'></script>
|
||||
<script src='../js/id/actions/change_member.js'></script>
|
||||
<script src='../js/id/actions/change_preset.js'></script>
|
||||
<script src='../js/id/actions/change_tags.js'></script>
|
||||
<script src='../js/id/actions/connect.js'></script>
|
||||
<script src='../js/id/actions/delete_member.js'></script>
|
||||
@@ -189,6 +190,7 @@
|
||||
<script src="spec/actions/add_midpoint.js"></script>
|
||||
<script src="spec/actions/add_entity.js"></script>
|
||||
<script src="spec/actions/change_member.js"></script>
|
||||
<script src="spec/actions/change_preset.js"></script>
|
||||
<script src="spec/actions/change_tags.js"></script>
|
||||
<script src='spec/actions/circularize.js'></script>
|
||||
<script src='spec/actions/orthogonalize.js'></script>
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
<script src="spec/actions/add_midpoint.js"></script>
|
||||
<script src="spec/actions/add_entity.js"></script>
|
||||
<script src="spec/actions/change_member.js"></script>
|
||||
<script src="spec/actions/change_preset.js"></script>
|
||||
<script src="spec/actions/change_tags.js"></script>
|
||||
<script src='spec/actions/circularize.js'></script>
|
||||
<script src='spec/actions/connect.js'></script>
|
||||
|
||||
25
test/spec/actions/change_preset.js
Normal file
25
test/spec/actions/change_preset.js
Normal file
@@ -0,0 +1,25 @@
|
||||
describe("iD.actions.ChangePreset", function() {
|
||||
var oldPreset = iD.presets.Preset('old', {tags: {old: 'true'}}),
|
||||
newPreset = iD.presets.Preset('new', {tags: {new: 'true'}});
|
||||
|
||||
it("changes from one preset's tags to another's", function() {
|
||||
var entity = iD.Node({tags: {old: 'true'}}),
|
||||
graph = iD.Graph([entity]),
|
||||
action = iD.actions.ChangePreset(entity.id, oldPreset, newPreset);
|
||||
expect(action(graph).entity(entity.id).tags).to.eql({new: 'true'});
|
||||
});
|
||||
|
||||
it("adds the tags of a new preset to an entity without an old preset", function() {
|
||||
var entity = iD.Node(),
|
||||
graph = iD.Graph([entity]),
|
||||
action = iD.actions.ChangePreset(entity.id, null, newPreset);
|
||||
expect(action(graph).entity(entity.id).tags).to.eql({new: 'true'});
|
||||
});
|
||||
|
||||
it("removes the tags of an old preset from an entity without a new preset", function() {
|
||||
var entity = iD.Node({tags: {old: 'true'}}),
|
||||
graph = iD.Graph([entity]),
|
||||
action = iD.actions.ChangePreset(entity.id, oldPreset, null);
|
||||
expect(action(graph).entity(entity.id).tags).to.eql({});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user