require 'test_helper'
class RefinedFile
using FasterPath::RefineFile
def basename(*args)
File.basename(*args)
end
end
class BasenameTest < Minitest::Test
def test_it_creates_basename_correctly
assert_equal(RefinedFile.new.basename('/home/gumby/work/ruby.rb'), 'ruby.rb', "Pickaxe A")
assert_equal(RefinedFile.new.basename('/home/gumby/work/ruby.rb', '.rb'), 'ruby', "Pickaxe B")
assert_equal(RefinedFile.new.basename('/home/gumby/work/ruby.rb', '.*'), 'ruby', "Pickaxe C")
assert_equal(RefinedFile.new.basename('ruby.rb', '.*'), 'ruby', "GemStone A")
assert_equal(RefinedFile.new.basename('/ruby.rb', '.*'), 'ruby', "GemStone B")
assert_equal(RefinedFile.new.basename('ruby.rbx', '.*'), 'ruby', "GemStone C")
assert_equal(RefinedFile.new.basename('ruby.rbx', '.rb'), 'ruby.rbx', "GemStone D")
assert_equal(RefinedFile.new.basename('ruby.rb', ''), 'ruby.rb', "GemStone E")
assert_equal(RefinedFile.new.basename('ruby.rbx', '.rb*'), 'ruby.rbx', "GemStone F")
assert_equal(RefinedFile.new.basename('ruby.rbx'), 'ruby.rbx', "GemStone G")
assert_equal(RefinedFile.new.basename('ruby.rbx', 'rbx'), 'ruby.', "GemStone H")
assert_equal(RefinedFile.new.basename('ruby.rbx', 'x'), 'ruby.rb', "GemStone I")
assert_equal(RefinedFile.new.basename('ruby.rbx', '*'), 'ruby.rbx', "GemStone J")
assert_equal(RefinedFile.new.basename('', ''), '', 'File.basename regression 1')
assert_equal(RefinedFile.new.basename('/'), '/', 'File.basename regression 2')
assert_equal(RefinedFile.new.basename('//'), '/', 'File.basename regression 3')
assert_equal(RefinedFile.new.basename('//dir///base//'), 'base', 'File.basename regression 4')
end
end