From 5abdc71d56866a6b6bb74489358a95d791bab9df Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Mon, 19 Jan 2026 06:55:36 +0100 Subject: [PATCH] File.dirname: add spec for removal of repeated leading slashes I discovered that surprising behavior while trying to optimize `File.dirname`. --- core/file/dirname_spec.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/file/dirname_spec.rb b/core/file/dirname_spec.rb index 8e6016ce6f..63436e19cb 100644 --- a/core/file/dirname_spec.rb +++ b/core/file/dirname_spec.rb @@ -79,6 +79,10 @@ def object.to_int; 2; end end platform_is_not :windows do + it "ignores repeated leading / (edge cases on non-windows)" do + File.dirname("/////foo/bar/").should == "/foo" + end + it "returns all the components of filename except the last one (edge cases on non-windows)" do File.dirname('/////').should == '/' File.dirname("//foo//").should == "/"