X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/1f7bd08f4a8a6a626a0c1d7ed60f2dcd6a6801e8..75a4d406b9e8471c0fe0ebf2a47d47f0ae36289a:/test/models/changeset_comment_test.rb diff --git a/test/models/changeset_comment_test.rb b/test/models/changeset_comment_test.rb index 5f8efdbbd..991bf555d 100644 --- a/test/models/changeset_comment_test.rb +++ b/test/models/changeset_comment_test.rb @@ -1,41 +1,56 @@ -require 'test_helper' +require "test_helper" class ChangesetCommentTest < ActiveSupport::TestCase - fixtures :changesets, :changeset_comments - - def test_changeset_comment_count - assert_equal 4, ChangesetComment.count - end - # validations def test_does_not_accept_invalid_author - comment = changeset_comments(:normal_comment_1) - + comment = create(:changeset_comment) + comment.author = nil - assert !comment.valid? + assert_not_predicate comment, :valid? comment.author_id = 999111 - assert !comment.valid? + assert_not_predicate comment, :valid? end def test_does_not_accept_invalid_changeset - comment = changeset_comments(:normal_comment_1) + comment = create(:changeset_comment) comment.changeset = nil - assert !comment.valid? + assert_not_predicate comment, :valid? comment.changeset_id = 999111 - assert !comment.valid? + assert_not_predicate comment, :valid? end def test_does_not_accept_empty_visible - comment = changeset_comments(:normal_comment_1) + comment = create(:changeset_comment) comment.visible = nil - assert !comment.valid? + assert_not_predicate comment, :valid? end def test_comments_of_changeset_count - assert_equal 3, Changeset.find(changesets(:normal_user_closed_change)).comments.count + changeset = create(:changeset) + create_list(:changeset_comment, 3, :changeset_id => changeset.id) + assert_equal 3, Changeset.find(changeset.id).comments.count + end + + def test_body_valid + ok = %W[Name vergrößern foo\nbar + ルシステムにも対応します 輕觸搖晃的遊戲] + bad = ["foo\x00bar", "foo\x08bar", "foo\x1fbar", "foo\x7fbar", + "foo\ufffebar", "foo\uffffbar"] + + ok.each do |body| + changeset_comment = create(:changeset_comment) + changeset_comment.body = body + assert_predicate changeset_comment, :valid?, "#{body} is invalid, when it should be" + end + + bad.each do |body| + changeset_comment = create(:changeset_comment) + changeset_comment.body = body + assert_not_predicate changeset_comment, :valid?, "#{body} is valid when it shouldn't be" + end end end