X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/bed9cd00ed166ce346da4b8a9b654ddf86e64e70..2a3bc0a38789b29b8798eafd80fc4fb77c5c7957:/test/unit/tracetag_test.rb diff --git a/test/unit/tracetag_test.rb b/test/unit/tracetag_test.rb index 4eaf41ed8..0a22919b5 100644 --- a/test/unit/tracetag_test.rb +++ b/test/unit/tracetag_test.rb @@ -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, :without_protection => true) + entry.assign_attributes(attrs, :without_protection => true) + assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}" end - end