From 087dfd99eedc6ee852674d45103696e6e6b90ce0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Wed, 27 Sep 2023 03:17:26 +0000 Subject: [PATCH] Don't add CHANGELOG offenses to "no changes" line --- .../lib/rail_inspector/changelog.rb | 6 +++ .../test/fixtures/action_mailbox.md | 46 +++++++++++++++++++ .../test/rail_inspector/changelog_test.rb | 6 +++ 3 files changed, 58 insertions(+) create mode 100644 tools/rail_inspector/test/fixtures/action_mailbox.md diff --git a/tools/rail_inspector/lib/rail_inspector/changelog.rb b/tools/rail_inspector/lib/rail_inspector/changelog.rb index 20f06092ca4a..e5ee4bbcc033 100644 --- a/tools/rail_inspector/lib/rail_inspector/changelog.rb +++ b/tools/rail_inspector/lib/rail_inspector/changelog.rb @@ -36,6 +36,8 @@ def header end def validate_authors + return if no_changes? + authors = lines.reverse.find { |line| line.match?(/\*[^\d\s]+(\s[^\d\s]+)*\*/) } @@ -87,6 +89,10 @@ def validate_trailing_whitespace end private + def no_changes? + lines.first == "* No changes." + end + def add_offense(...) @offenses << Offense.new(...) end diff --git a/tools/rail_inspector/test/fixtures/action_mailbox.md b/tools/rail_inspector/test/fixtures/action_mailbox.md new file mode 100644 index 000000000000..a279a950890e --- /dev/null +++ b/tools/rail_inspector/test/fixtures/action_mailbox.md @@ -0,0 +1,46 @@ +## Rails 7.1.0.rc1 (September 13, 2023) ## + +* No changes. + + +## Rails 7.1.0.beta1 (September 13, 2023) ## + +* Fix `simple_format` with blank `wrapper_tag` option returns plain html tag + + By default `simple_format` method returns the text wrapped with `

`. But if we explicitly specify + the `wrapper_tag: nil` in the options, it returns the text wrapped with `<>` tag. + + Before: + + ```ruby + simple_format("Hello World", {}, { wrapper_tag: nil }) + # <>Hello World + ``` + + After: + + ```ruby + simple_format("Hello World", {}, { wrapper_tag: nil }) + #

Hello World

+ ``` + + *Akhil G Krishnan*, *Junichi Ito* + +* Don't double-encode nested `field_id` and `field_name` index values + + Pass `index: @options` as a default keyword argument to `field_id` and + `field_name` view helper methods. + + *Sean Doyle* + +* Allow opting in/out of `Link preload` headers when calling `stylesheet_link_tag` or `javascript_include_tag` + + ```ruby + # will exclude header, even if setting is enabled: + javascript_include_tag("http://example.com/all.js", preload_links_header: false) + + # will include header, even if setting is disabled: + stylesheet_link_tag("http://example.com/all.js", preload_links_header: true) + ``` + + *Alex Ghiculescu* diff --git a/tools/rail_inspector/test/rail_inspector/changelog_test.rb b/tools/rail_inspector/test/rail_inspector/changelog_test.rb index 18b236d367e7..4246d6ca4584 100644 --- a/tools/rail_inspector/test/rail_inspector/changelog_test.rb +++ b/tools/rail_inspector/test/rail_inspector/changelog_test.rb @@ -54,6 +54,12 @@ def test_release_header_is_not_treated_as_offense assert_equal 0, offenses.length end + def test_no_changes_not_treated_as_offense + @changelog = changelog_fixture("action_mailbox.md") + + assert_equal 0, offenses.length + end + def test_validate_authors assert_offense(<<~CHANGELOG) * Fix issue in CHANGELOG linting