]> git.openstreetmap.org Git - rails.git/blobdiff - test/functional/way_controller_test.rb
Merge branch 'master' of git://git.openstreetmap.org/rails into openID
[rails.git] / test / functional / way_controller_test.rb
index 862e700a68c85fa84eba541fc4b07aca1c076fac..3452be6d04a120ed771a2a1a1b05367e36117ab0 100644 (file)
@@ -41,11 +41,10 @@ class WayControllerTest < ActionController::TestCase
       assert_select "osm way[id=#{way.id}][version=#{way.version}][visible=#{way.visible}]", 1
       
       # check that each node in the way appears once in the output as a 
-      # reference and as the node element. note the slightly dodgy assumption
-      # that nodes appear only once. this is currently the case with the
-      # fixtures, but it doesn't have to be.
+      # reference and as the node element.
       way.nodes.each do |n|
-        assert_select "osm way nd[ref=#{n.id}]", 1
+        count = (way.nodes - (way.nodes - [n])).length
+        assert_select "osm way nd[ref=#{n.id}]", count
         assert_select "osm node[id=#{n.id}][version=#{n.version}][lat=#{n.lat}][lon=#{n.lon}]", 1
       end
     end
@@ -164,7 +163,7 @@ class WayControllerTest < ActionController::TestCase
     # expect failure
     assert_response :precondition_failed, 
         "way upload with invalid node did not return 'precondition failed'"
-    assert_equal "Precondition failed: Way  requires the node with id 0, which either does not exist, or is not visible.", @response.body
+    assert_equal "Precondition failed: Way  requires the nodes with id in (0), which either do not exist, or are not visible.", @response.body
 
     # create a way with no nodes
     content "<osm><way changeset='#{open_changeset_id}'>" +
@@ -211,7 +210,7 @@ class WayControllerTest < ActionController::TestCase
     assert_response :forbidden
     
     # Now try without having a changeset
-    content "<osm><way id='#{current_ways(:visible_way).id}'></osm>"
+    content "<osm><way id='#{current_ways(:visible_way).id}'/></osm>"
     delete :delete, :id => current_ways(:visible_way).id
     assert_response :forbidden
     
@@ -262,7 +261,7 @@ class WayControllerTest < ActionController::TestCase
     assert_response :bad_request
     
     # Now try without having a changeset
-    content "<osm><way id='#{current_ways(:visible_way).id}'></osm>"
+    content "<osm><way id='#{current_ways(:visible_way).id}'/></osm>"
     delete :delete, :id => current_ways(:visible_way).id
     assert_response :bad_request
     
@@ -349,7 +348,7 @@ class WayControllerTest < ActionController::TestCase
     put :update, :id => current_ways(:visible_way).id
     assert_response :bad_request, 
        "adding a duplicate tag to a way should fail with 'bad request'"
-    assert_equal "Element way/#{current_ways(:visible_way).id} has duplicate tags with key #{current_way_tags(:t1).k}.", @response.body
+    assert_equal "Element way/#{current_ways(:visible_way).id} has duplicate tags with key #{current_way_tags(:t1).k}", @response.body
   end
 
   ##
@@ -396,7 +395,7 @@ class WayControllerTest < ActionController::TestCase
     put :update, :id => current_ways(:visible_way).id
     assert_response :bad_request, 
        "adding new duplicate tags to a way should fail with 'bad request'"
-    assert_equal "Element way/#{current_ways(:visible_way).id} has duplicate tags with key i_am_a_duplicate.", @response.body
+    assert_equal "Element way/#{current_ways(:visible_way).id} has duplicate tags with key i_am_a_duplicate", @response.body
     
   end
 
@@ -436,7 +435,7 @@ class WayControllerTest < ActionController::TestCase
     put :create
     assert_response :bad_request, 
     "adding new duplicate tags to a way should fail with 'bad request'"
-    assert_equal "Element way/ has duplicate tags with key addr:housenumber.", @response.body
+    assert_equal "Element way/ has duplicate tags with key addr:housenumber", @response.body
   end
 
   ##