]> git.openstreetmap.org Git - rails.git/blob - test/models/relation_member_test.rb
Merge pull request #5932 from tomhughes/frozen-strings
[rails.git] / test / models / relation_member_test.rb
1 # frozen_string_literal: true
2
3 require "test_helper"
4
5 class RelationMemberTest < ActiveSupport::TestCase
6   def test_role_with_invalid_characters
7     invalid = ["\x7f<hr/>", "test@example.com\x0e-", "s/\x1ff", "aa/\ufffe",
8                "aa\x0b-,", "aa?\x08", "/;\uffff.,?", "\x0c#ping",
9                "foo\x1fbar", "foo\x7fbar", "foo\ufffebar", "foo\uffffbar"]
10     relation = create(:relation)
11     node = create(:node)
12     invalid.each do |r|
13       member = build(:relation_member, :relation => relation, :member => node, :member_role => r)
14       assert_not_predicate member, :valid?, "'#{r}' should not be valid"
15       assert_predicate member.errors[:member_role], :any?
16     end
17   end
18
19   def test_role_too_long
20     relation = create(:relation)
21     node = create(:node)
22     member = build(:relation_member, :relation => relation, :member => node, :member_role => "r" * 256)
23     assert_not_predicate member, :valid?, "Role should be too long"
24     assert_predicate member.errors[:member_role], :any?
25   end
26 end