Added test for changeset/download hiding redacted elements
This commit is contained in:
parent
d9e4e5836f
commit
e01a309970
2 changed files with 21 additions and 4 deletions
|
@ -143,10 +143,11 @@ class ChangesetController < ApplicationController
|
|||
def download
|
||||
changeset = Changeset.find(params[:id])
|
||||
|
||||
# get all the elements in the changeset and stick them in a big array.
|
||||
elements = [changeset.old_nodes,
|
||||
changeset.old_ways,
|
||||
changeset.old_relations].flatten
|
||||
# get all the elements in the changeset which haven't been redacted
|
||||
# and stick them in a big array.
|
||||
elements = [changeset.old_nodes.unredacted,
|
||||
changeset.old_ways.unredacted,
|
||||
changeset.old_relations.unredacted].flatten
|
||||
|
||||
# sort the elements by timestamp and version number, as this is the
|
||||
# almost sensible ordering available. this would be much nicer if
|
||||
|
|
|
@ -1747,6 +1747,22 @@ EOF
|
|||
assert_template 'user/no_such_user'
|
||||
end
|
||||
|
||||
##
|
||||
# check that the changeset download for a changeset with a redacted
|
||||
# element in it doesn't contain that element.
|
||||
def test_diff_download_redacted
|
||||
changeset_id = changesets(:public_user_first_change).id
|
||||
|
||||
get :download, :id => changeset_id
|
||||
assert_response :success
|
||||
|
||||
assert_select "osmChange", 1
|
||||
# this changeset contains node 17 in versions 1 & 2, but 1 should
|
||||
# be hidden.
|
||||
assert_select "osmChange node[id=17]", 1
|
||||
assert_select "osmChange node[id=17][version=1]", 0
|
||||
end
|
||||
|
||||
#------------------------------------------------------------
|
||||
# utility functions
|
||||
#------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue