]> git.openstreetmap.org Git - rails.git/blob - test/models/tracetag_test.rb
Merge pull request #5932 from tomhughes/frozen-strings
[rails.git] / test / models / tracetag_test.rb
1 # frozen_string_literal: true
2
3 require "test_helper"
4
5 class TracetagTest < ActiveSupport::TestCase
6   def test_validations
7     tracetag_valid({})
8     tracetag_valid({ :tag => nil }, :valid => false)
9     tracetag_valid({ :tag => "" }, :valid => false)
10     tracetag_valid({ :tag => "a" })
11     tracetag_valid({ :tag => "a" * 255 })
12     tracetag_valid({ :tag => "a" * 256 }, :valid => false)
13     tracetag_valid({ :tag => "a/b" }, :valid => false)
14     tracetag_valid({ :tag => "a;b" }, :valid => false)
15     tracetag_valid({ :tag => "a.b" }, :valid => false)
16     tracetag_valid({ :tag => "a,b" }, :valid => false)
17     tracetag_valid({ :tag => "a?b" }, :valid => false)
18   end
19
20   private
21
22   def tracetag_valid(attrs, valid: true)
23     entry = build(:tracetag)
24     entry.assign_attributes(attrs)
25     assert_equal valid, entry.valid?, "Expected #{attrs.inspect} to be #{valid}"
26   end
27 end