X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/497009ed2b98dfdeeb349e891c1fbd88d14ff087..9241d9810d39607acaef19bed6f69d8f3dd38220:/test/models/changeset_comment_test.rb diff --git a/test/models/changeset_comment_test.rb b/test/models/changeset_comment_test.rb index c13fde8e2..2139c8d39 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 comment.valid? comment.author_id = 999111 - assert !comment.valid? + assert_not 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 comment.valid? comment.changeset_id = 999111 - assert !comment.valid? + assert_not 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 comment.valid? end def test_comments_of_changeset_count - assert_equal 3, Changeset.find(changesets(:normal_user_closed_change).id).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 changeset_comment.valid?, "#{body} is valid when it shouldn't be" + end end end