diff options
| author | William Boman <william@redwill.se> | 2023-10-13 15:40:24 +0200 |
|---|---|---|
| committer | William Boman <william@redwill.se> | 2025-02-19 09:23:19 +0100 |
| commit | 3bc4b74f12303319e088c963a7c13486c4e4e776 (patch) | |
| tree | 8ed4f5deef05605337a371795cb9f2fd994a53eb /tests/mason-core/path_spec.lua | |
| parent | refactor(path): use InstallLocation to produce paths, remove static path methods (diff) | |
| download | mason-3bc4b74f12303319e088c963a7c13486c4e4e776.tar mason-3bc4b74f12303319e088c963a7c13486c4e4e776.tar.gz mason-3bc4b74f12303319e088c963a7c13486c4e4e776.tar.bz2 mason-3bc4b74f12303319e088c963a7c13486c4e4e776.tar.lz mason-3bc4b74f12303319e088c963a7c13486c4e4e776.tar.xz mason-3bc4b74f12303319e088c963a7c13486c4e4e776.tar.zst mason-3bc4b74f12303319e088c963a7c13486c4e4e776.zip | |
feat(path): add relative(from, to)
Diffstat (limited to 'tests/mason-core/path_spec.lua')
| -rw-r--r-- | tests/mason-core/path_spec.lua | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/mason-core/path_spec.lua b/tests/mason-core/path_spec.lua index 3d0c2e25..4aeb48f1 100644 --- a/tests/mason-core/path_spec.lua +++ b/tests/mason-core/path_spec.lua @@ -22,4 +22,55 @@ describe("path", function() assert.is_false(path.is_subdirectory("/foo/bar", "/foo/bas/baz")) assert.is_false(path.is_subdirectory("/foo/bar", "/foo/bars/baz")) end) + + describe("relative ::", function() + local matrix = { + { + from = "/home/user/dir1/fileA", + to = "/home/user/dir1/fileB", + expected = "./fileB", + }, + { + from = "/home/user/dir1/fileA", + to = "/home/user/dir2/fileC", + expected = "../dir2/fileC", + }, + { + from = "/home/user/dir1/subdir/fileD", + to = "/home/user/dir1/fileE", + expected = "../fileE", + }, + { + from = "/home/user/dir1/subdir/fileD", + to = "/home/user/dir1/subdir/fileF", + expected = "./fileF", + }, + { + from = "/home/user/dir1/fileG", + to = "/home/user/dir2/subdir/fileH", + expected = "../dir2/subdir/fileH", + }, + { + from = "/home/user/dir1/subdir1/subdir2/fileI", + to = "/home/user/dir1/fileJ", + expected = "../../fileJ", + }, + { + from = "/fileK", + to = "/home/fileL", + expected = "./home/fileL", + }, + { + from = "/home/user/fileM", + to = "/home/user/dir1/dir2/fileL", + expected = "./dir1/dir2/fileL", + }, + } + + for _, test_case in ipairs(matrix) do + it(("should resolve from %s to %s: %s"):format(test_case.from, test_case.to, test_case.expected), function() + assert.equals(test_case.expected, path.relative(test_case.from, test_case.to)) + end) + end + end) end) |
