From 1f7bc64845d71642845e5459dbf7e5450a616c66 Mon Sep 17 00:00:00 2001 From: dearblue Date: Mon, 21 Jul 2025 10:16:38 +0900 Subject: [PATCH] Added test for `File.basename` --- mrbgems/mruby-io/test/file.rb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/mrbgems/mruby-io/test/file.rb b/mrbgems/mruby-io/test/file.rb index e6eda5434..fb5f16f5b 100644 --- a/mrbgems/mruby-io/test/file.rb +++ b/mrbgems/mruby-io/test/file.rb @@ -57,6 +57,40 @@ assert('File.basename with suffix') do assert_equal 'foo.rb', File.basename('foo.rb', '.RB') # case-sensitive end +if MRubyIOTestUtil.win? + assert('File.basename (for Windows)') do + assert_equal '/', File.basename('/') + assert_equal '/', File.basename('//a') + assert_equal '/', File.basename('//a/') + assert_equal '/', File.basename('//a/b') + assert_equal '/', File.basename('//a/b/') + assert_equal 'c', File.basename('//a/b/c') + assert_equal 'c', File.basename('//a/b/c/') + assert_equal '/', File.basename("\\\\a\\b") + assert_equal '', File.basename('c:') + assert_equal '/', File.basename('c:/') + assert_equal 'a', File.basename('c:/a') + assert_equal 'a', File.basename('c:/a/') + assert_equal 'b', File.basename('c:/a/b') + assert_equal '/', File.basename("c:\\") + end +else + assert('File.basename (for generic)') do + assert_equal '/', File.basename('/') + assert_equal 'a', File.basename('//a') + assert_equal 'a', File.basename('//a/') + assert_equal 'b', File.basename('//a/b') + assert_equal 'b', File.basename('//a/b/') + assert_equal 'c', File.basename('//a/b/c') + assert_equal 'c', File.basename('//a/b/c/') + assert_equal 'c:', File.basename('c:') + assert_equal 'c:', File.basename('c:/') + assert_equal 'a', File.basename('c:/a') + assert_equal 'a', File.basename('c:/a/') + assert_equal 'b', File.basename('c:/a/b') + end +end + assert('File.dirname') do assert_equal '.', File.dirname('') assert_equal '.', File.dirname('a')