]> git.openstreetmap.org Git - rails.git/blobdiff - test/functional/way_controller_test.rb
Change /index.php/ in wiki.openstreetmap.org links to /wiki/. This looks nicer
[rails.git] / test / functional / way_controller_test.rb
index 9c32ae90400508d7d3654fec1021833fd4ae6627..607f2dc6fe39017b934d79b265ac00a49d758a1d 100644 (file)
@@ -164,6 +164,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 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}'>" +
@@ -172,6 +173,7 @@ class WayControllerTest < ActionController::TestCase
     # expect failure
     assert_response :precondition_failed, 
         "way upload with no node did not return 'precondition failed'"
+    assert_equal "Precondition failed: Cannot create way: data is invalid.", @response.body
 
     # create a way inside a closed changeset
     content "<osm><way changeset='#{closed_changeset_id}'>" +
@@ -180,6 +182,16 @@ class WayControllerTest < ActionController::TestCase
     # expect failure
     assert_response :conflict, 
         "way upload to closed changeset did not return 'conflict'"    
+
+    # create a way with a tag which is too long
+    content "<osm><way changeset='#{open_changeset_id}'>" +
+      "<nd ref='#{nid1}'/>" +
+      "<tag k='foo' v='#{'x'*256}'/>" +
+      "</way></osm>"
+    put :create
+    # expect failure
+    assert_response :bad_request, 
+        "way upload to with too long tag did not return 'bad_request'"
   end
 
   # -------------------------------------
@@ -286,6 +298,7 @@ class WayControllerTest < ActionController::TestCase
     delete :delete, :id => current_ways(:used_way).id
     assert_response :precondition_failed, 
        "shouldn't be able to delete a way used in a relation (#{@response.body})"
+    assert_equal "Precondition failed: Way 3 still used by relation 1.", @response.body
 
     # this won't work since the way never existed
     delete :delete, :id => 0
@@ -336,7 +349,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
 
   ##
@@ -383,7 +396,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
 
@@ -423,7 +436,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
 
   ##