local pathutil = require('oil.pathutil') describe('pathutil', function() it('calculates parent path', function() local cases = { { '/foo/bar', '/foo/' }, { '/foo/bar/', '/foo/' }, { '/', '/' }, { '', '' }, { 'foo/bar/', 'foo/' }, { 'foo', '' }, } for _, case in ipairs(cases) do local input, expected = unpack(case) local output = pathutil.parent(input) assert.equals(expected, output, string.format('Parent path "%s" failed', input)) end end) it('calculates basename', function() local cases = { { '/foo/bar', 'bar' }, { '/foo/bar/', 'bar' }, { '/', nil }, { '', nil }, } for _, case in ipairs(cases) do local input, expected = unpack(case) local output = pathutil.basename(input) assert.equals(expected, output, string.format('Basename "%s" failed', input)) end end) end)