diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-11-28 14:49:40 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-11-28 16:30:40 +0900 |
commit | 5a171ee4c05c0ed20ac4b4632e54b23717d5fe16 (patch) | |
tree | 963ffde570b6c2c9e0b3e3708b7faa85f2c5c818 /tool/test/test_sync_default_gems.rb | |
parent | fb599523cddeb8a2748c0817a12a1915b58c8c63 (diff) | |
download | ruby-5a171ee4c05c0ed20ac4b4632e54b23717d5fe16.tar.gz |
Add tests for sync_default_gems.rb
Diffstat (limited to 'tool/test/test_sync_default_gems.rb')
-rwxr-xr-x | tool/test/test_sync_default_gems.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tool/test/test_sync_default_gems.rb b/tool/test/test_sync_default_gems.rb new file mode 100755 index 0000000000..7e6a6d830e --- /dev/null +++ b/tool/test/test_sync_default_gems.rb @@ -0,0 +1,55 @@ +#!/usr/bin/ruby +require 'test/unit' +require 'stringio' +require_relative '../sync_default_gems' + +module Test_SyncDefaultGems + class TestMessageFilter < Test::Unit::TestCase + def assert_message_filter(expected, trailers, input, repo = "ruby/test", sha = "0123456789") + subject, *expected = expected + expected = [ + "[#{repo}] #{subject}\n", + *expected.map {_1+"\n"}, + "\n", + "https://github.com/#{repo}/commit/#{sha[0, 10]}\n", + ] + if trailers + expected << "\n" + expected.concat(trailers.map {_1+"\n"}) + end + + out, err = capture_output do + SyncDefaultGems.message_filter(repo, sha, input: StringIO.new(input, "r")) + end + + all_assertions do |a| + a.for("error") {assert_empty err} + a.for("result") {assert_pattern_list(expected, out)} + end + end + + def test_subject_only + expected = [ + "initial commit", + ] + assert_message_filter(expected, nil, "initial commit") + end + + def test_link_in_parenthesis + expected = [ + "fix (https://github.com/ruby/test/pull/1)", + ] + assert_message_filter(expected, nil, "fix (#1)") + end + + def test_co_authored_by + expected = [ + "commit something", + ] + trailers = [ + "Co-Authored-By: git <git@ruby-lang.org>", + ] + assert_message_filter(expected, trailers, [expected, "", trailers, ""].join("\n")) + end + end +end |