Fix validation failures for trace tags

Fixes #914
This commit is contained in:
Tom Hughes 2015-02-27 10:04:40 +00:00
parent d4d1527a92
commit cd3db7df4d
2 changed files with 4 additions and 2 deletions

View file

@ -3,6 +3,6 @@ class Tracetag < ActiveRecord::Base
belongs_to :trace, :foreign_key => "gpx_id" belongs_to :trace, :foreign_key => "gpx_id"
validates :trace, :presence => true, :associated => true validates :trace, :associated => true
validates :tag, :length => 1..255, :format => /\A[^\/;.,?]*\z/ validates :tag, :length => 1..255, :format => /\A[^\/;.,?]*\z/
end end

View file

@ -53,14 +53,16 @@ class TraceTest < ActiveSupport::TestCase
end end
def test_tagstring def test_tagstring
trace = Trace.new trace = Trace.new(gpx_files(:public_trace_file).attributes)
trace.tagstring = "foo bar baz" trace.tagstring = "foo bar baz"
assert trace.valid?
assert_equal 3, trace.tags.length assert_equal 3, trace.tags.length
assert_equal "foo", trace.tags[0].tag assert_equal "foo", trace.tags[0].tag
assert_equal "bar", trace.tags[1].tag assert_equal "bar", trace.tags[1].tag
assert_equal "baz", trace.tags[2].tag assert_equal "baz", trace.tags[2].tag
assert_equal "foo, bar, baz", trace.tagstring assert_equal "foo, bar, baz", trace.tagstring
trace.tagstring = "foo, bar baz ,qux" trace.tagstring = "foo, bar baz ,qux"
assert trace.valid?
assert_equal 3, trace.tags.length assert_equal 3, trace.tags.length
assert_equal "foo", trace.tags[0].tag assert_equal "foo", trace.tags[0].tag
assert_equal "bar baz", trace.tags[1].tag assert_equal "bar baz", trace.tags[1].tag