From b931f8ffd69627d5656546c6b06d04e79c976976 Mon Sep 17 00:00:00 2001 From: stephsachrajda Date: Wed, 3 Jan 2024 16:52:08 -0700 Subject: [PATCH] use file base name if available for minitest --- lib/deprecation_toolkit/read_write_helper.rb | 7 ++++++- .../behaviors/record_test.rb | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/deprecation_toolkit/read_write_helper.rb b/lib/deprecation_toolkit/read_write_helper.rb index 55b0fc0..30e7c58 100644 --- a/lib/deprecation_toolkit/read_write_helper.rb +++ b/lib/deprecation_toolkit/read_write_helper.rb @@ -52,7 +52,12 @@ def recorded_deprecations_path(test) if DeprecationToolkit::Configuration.test_runner == :rspec test.example_group.file_path.sub(%r{^./spec/}, "").sub(/_spec.rb$/, "") else - test.class.name.underscore + test_path = test_location(test) + if test_path == "unknown" + test.class.name.underscore + else + File.dirname(test.class.name.underscore) + "/" + File.basename(test_path, ".*") + end end Pathname(deprecation_folder).join("#{path}.yml") diff --git a/test/deprecation_toolkit/behaviors/record_test.rb b/test/deprecation_toolkit/behaviors/record_test.rb index 2d7b209..7fd5540 100644 --- a/test/deprecation_toolkit/behaviors/record_test.rb +++ b/test/deprecation_toolkit/behaviors/record_test.rb @@ -31,6 +31,23 @@ class RecordTest < ActiveSupport::TestCase end end + class TestClass < RecordTest + test ".trigger record deprecations using correct filename in subclasses" do + assert_deprecations_recorded("Foo", "Bar") do + deprecator.warn("Foo") + deprecator.warn("Bar") + + trigger_deprecation_toolkit_behavior + end + end + + private + + def recorded_deprecations(to: @deprecation_path) + YAML.load_file("#{to}/deprecation_toolkit/behaviors/record_test/record_test.yml").fetch(name) + end + end + test ".trigger record deprecations for proc path" do Configuration.deprecation_path = proc do File.join(@deprecation_path, "prefix")