From c430baaee8116116f39b397cc3ba393f5215d777 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Sat, 29 Sep 2018 10:32:18 +0200 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20treat=20`.7z`=20as=20part=20of?= =?UTF-8?q?=20a=20version.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Library/Homebrew/extend/pathname.rb | 2 +- Library/Homebrew/test/pathname_spec.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 71c6443dd0..57629775d8 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -200,7 +200,7 @@ class Pathname return archive_ext if archive_ext # Don't treat version numbers as extname. - return "" if basename.match?(/\b\d+\.\d+[^\.]*\Z/) + return "" if basename.match?(/\b\d+\.\d+[^\.]*\Z/) && !basename.end_with?(".7z") File.extname(basename) end diff --git a/Library/Homebrew/test/pathname_spec.rb b/Library/Homebrew/test/pathname_spec.rb index 4b5f4305d3..5f846fde13 100644 --- a/Library/Homebrew/test/pathname_spec.rb +++ b/Library/Homebrew/test/pathname_spec.rb @@ -137,6 +137,11 @@ describe Pathname do it "does not treat version numbers as extensions" do expect(described_class.new("foo-0.1").extname).to eq("") expect(described_class.new("foo-1.0-rc1").extname).to eq("") + expect(described_class.new("foo-1.2.3").extname).to eq "" + end + + it "supports `.7z` with version numbers" do + expect(described_class.new("snap7-full-1.4.2.7z").extname).to eq ".7z" end end