ruby-changes:70915
From: Yusuke <ko1@a...>
Date: Thu, 20 Jan 2022 01:05:05 +0900 (JST)
Subject: [ruby-changes:70915] 7353f950c3 (master): [rubygems/rubygems] Change generated namespaced test class name in minitest
https://git.ruby-lang.org/ruby.git/commit/?id=7353f950c3 From 7353f950c3229a4b24482af99d589ea56982a285 Mon Sep 17 00:00:00 2001 From: Yusuke Nakamura <yusuke1994525@g...> Date: Wed, 19 Jan 2022 17:52:27 +0900 Subject: [rubygems/rubygems] Change generated namespaced test class name in minitest * `foo` => `TestFoo` * `foo_bar` => `TestFooBar` * `foo-bar` => `Foo::TestBar` https://github.com/rubygems/rubygems/commit/353cdd61c3 --- lib/bundler/cli/gem.rb | 2 ++ lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt | 2 +- spec/bundler/commands/newgem_spec.rb | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/bundler/cli/gem.rb b/lib/bundler/cli/gem.rb index 2c22ff8babe..c4c76d1b69d 100644 --- a/lib/bundler/cli/gem.rb +++ b/lib/bundler/cli/gem.rb @@ -38,6 +38,7 @@ module Bundler https://github.com/ruby/ruby/blob/trunk/lib/bundler/cli/gem.rb#L38 namespaced_path = name.tr("-", "/") constant_name = name.gsub(/-[_-]*(?![_-]|$)/) { "::" }.gsub(/([_-]+|(::)|^)(.|$)/) { $2.to_s + $3.upcase } constant_array = constant_name.split("::") + minitest_constant_name = constant_array.clone.tap {|a| a[-1] = "Test#{a[-1]}" }.join("::") # Foo::Bar => Foo::TestBar use_git = Bundler.git_present? && options[:git] @@ -69,6 +70,7 @@ module Bundler https://github.com/ruby/ruby/blob/trunk/lib/bundler/cli/gem.rb#L70 :git => use_git, :github_username => github_username.empty? ? "[USERNAME]" : github_username, :required_ruby_version => required_ruby_version, + :minitest_constant_name => minitest_constant_name, } ensure_safe_gem_name(name, constant_array) diff --git a/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt b/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt index 971285c21d7..4b35a630714 100644 --- a/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +++ b/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt @@ -2,7 +2,7 @@ https://github.com/ruby/ruby/blob/trunk/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt#L2 require "test_helper" -class Test<%= config[:constant_name].gsub('::', '') %> < Minitest::Test +class <%= config[:minitest_constant_name] %> < Minitest::Test def test_that_it_has_a_version_number refute_nil ::<%= config[:constant_name] %>::VERSION end diff --git a/spec/bundler/commands/newgem_spec.rb b/spec/bundler/commands/newgem_spec.rb index 49ab4a366d5..55a04b69c59 100644 --- a/spec/bundler/commands/newgem_spec.rb +++ b/spec/bundler/commands/newgem_spec.rb @@ -1369,7 +1369,7 @@ RSpec.describe "bundle gem" do https://github.com/ruby/ruby/blob/trunk/spec/bundler/commands/newgem_spec.rb#L1369 let(:minitest_test_file_path) { "test/test/test_gem.rb" } - let(:minitest_test_class_name) { "class TestTestGem < Minitest::Test" } + let(:minitest_test_class_name) { "class Test::TestGem < Minitest::Test" } it "nests constants so they work" do bundle "gem #{gem_name}" -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/