diff options
Diffstat (limited to 'test/unit/path_spec.moon')
-rw-r--r-- | test/unit/path_spec.moon | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/unit/path_spec.moon b/test/unit/path_spec.moon index 762bad09a2..4a4170e463 100644 --- a/test/unit/path_spec.moon +++ b/test/unit/path_spec.moon @@ -10,6 +10,43 @@ OK = 1 FAIL = 0 describe 'path function', -> + describe 'path_full_dir_name', -> + setup -> + lfs.mkdir 'unit-test-directory' + + teardown -> + lfs.rmdir 'unit-test-directory' + + path_full_dir_name = (directory, buffer, len) -> + directory = to_cstr directory + path.path_full_dir_name directory, buffer, len + + before_each -> + -- Create empty string buffer which will contain the resulting path. + export len = (string.len lfs.currentdir!) + 22 + export buffer = cstr len, '' + + it 'returns the absolute directory name of a given relative one', -> + result = path_full_dir_name '..', buffer, len + eq OK, result + old_dir = lfs.currentdir! + lfs.chdir '..' + expected = lfs.currentdir! + lfs.chdir old_dir + eq expected, (ffi.string buffer) + + it 'returns the current directory name if the given string is empty', -> + eq OK, (path_full_dir_name '', buffer, len) + eq lfs.currentdir!, (ffi.string buffer) + + it 'fails if the given directory does not exist', -> + eq FAIL, path_full_dir_name('does_not_exist', buffer, len) + + it 'works with a normal relative dir', -> + result = path_full_dir_name('unit-test-directory', buffer, len) + eq lfs.currentdir! .. '/unit-test-directory', (ffi.string buffer) + eq OK, result + describe 'path_full_compare', -> path_full_compare = (s1, s2, cn) -> |