1 # frozen_string_literal: true
 
   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)
 
  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?
 
  19   def test_role_too_long
 
  20     relation = create(:relation)
 
  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?