]> git.openstreetmap.org Git - rails.git/blobdiff - test/unit/tracetag_test.rb
Clear pass_crypt_confirmation when encrypting a new password
[rails.git] / test / unit / tracetag_test.rb
index 41e77dfe47533f206cd740361a98c3727d654069..2112e589190725a3c125b94039861d18608bf31a 100644 (file)
@@ -6,5 +6,26 @@ class TracetagTest < ActiveSupport::TestCase
   def test_tracetag_count
     assert_equal 1, 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