]> git.openstreetmap.org Git - rails.git/blobdiff - test/unit/tracetag_test.rb
Fix scroll bar issue on edit pages
[rails.git] / test / unit / tracetag_test.rb
index 4eaf41ed8df8edc959dba15e89811af6d1183301..473071088be1efa13b062045d3c81362a938cd05 100644 (file)
@@ -1,11 +1,31 @@
 require File.dirname(__FILE__) + '/../test_helper'
 
-class TracetagTest < Test::Unit::TestCase
-  fixtures :gpx_file_tags
-  set_fixture_class :gpx_file_tags => Tracetag
+class TracetagTest < ActiveSupport::TestCase
+  api_fixtures
   
   def test_tracetag_count
-    assert_equal 1, Tracetag.count
+    assert_equal 4, Tracetag.count
+  end
+
+  def test_validations
+    tracetag_valid({})
+    tracetag_valid({:tag => nil}, false)
+    tracetag_valid({:tag => ''}, false)
+    tracetag_valid({:tag => 'a'})
+    tracetag_valid({:tag => 'a'*255})
+    tracetag_valid({:tag => 'a'*256}, false)
+    tracetag_valid({:tag => 'a/b'}, false)
+    tracetag_valid({:tag => 'a;b'}, false)
+    tracetag_valid({:tag => 'a.b'}, false)
+    tracetag_valid({:tag => 'a,b'}, false)
+    tracetag_valid({:tag => 'a?b'}, false)
+  end
+
+private
+
+  def tracetag_valid(attrs, result = true)
+    entry = Tracetag.new(gpx_file_tags(:first_trace_1).attributes)
+    entry.assign_attributes(attrs)
+    assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
   end
-  
 end