]> git.openstreetmap.org Git - rails.git/blobdiff - test/unit/tracetag_test.rb
Add a hash if one isn't already present
[rails.git] / test / unit / tracetag_test.rb
index 41e77dfe47533f206cd740361a98c3727d654069..0a22919b59f0319f31e3f74c112c2b2a5bbb4055 100644 (file)
@@ -4,7 +4,28 @@ 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, :without_protection => true)
+    entry.assign_attributes(attrs, :without_protection => true)
+    assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
   end
-  
 end