diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2017-10-02 02:42:33 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-10-02 02:42:33 +0200 |
| commit | 01e53a5cbe676181629ef63731b980c453c0bd62 (patch) | |
| tree | 0ee28dd373787791a12a977a2476ae0dd38e3edb /test/functional/core/path_spec.lua | |
| parent | 981387b7c83026c1446cdddf6b374f63973a2b86 (diff) | |
| parent | 6f7754dfa0c6a9ec2a1e7db3685ffd41b207b882 (diff) | |
| download | rneovim-01e53a5cbe676181629ef63731b980c453c0bd62.tar.gz rneovim-01e53a5cbe676181629ef63731b980c453c0bd62.tar.bz2 rneovim-01e53a5cbe676181629ef63731b980c453c0bd62.zip | |
Merge #7349 'win: more path-handling fixes'
Diffstat (limited to 'test/functional/core/path_spec.lua')
| -rw-r--r-- | test/functional/core/path_spec.lua | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/functional/core/path_spec.lua b/test/functional/core/path_spec.lua new file mode 100644 index 0000000000..669bc99136 --- /dev/null +++ b/test/functional/core/path_spec.lua @@ -0,0 +1,56 @@ +local helpers = require('test.functional.helpers')(after_each) +local clear = helpers.clear +local eq = helpers.eq +local eval = helpers.eval +local command = helpers.command +local iswin = helpers.iswin + +describe('path collapse', function() + local targetdir + local expected_path + + local function join_path(...) + local pathsep = (iswin() and '\\' or '/') + return table.concat({...}, pathsep) + end + + before_each(function() + targetdir = join_path('test', 'functional', 'fixtures') + clear() + command('edit '..join_path(targetdir, 'tty-test.c')) + expected_path = eval('expand("%:p")') + end) + + it('with /./ segment #7117', function() + command('edit '..join_path(targetdir, '.', 'tty-test.c')) + eq(expected_path, eval('expand("%:p")')) + end) + + it('with ./ prefix #7117', function() + command('edit '..join_path('.', targetdir, 'tty-test.c')) + eq(expected_path, eval('expand("%:p")')) + end) + + it('with ./ prefix, after directory change #7117', function() + command('edit '..join_path('.', targetdir, 'tty-test.c')) + command('cd test') + eq(expected_path, eval('expand("%:p")')) + end) + + it('with /../ segment #7117', function() + command('edit '..join_path(targetdir, '..', 'fixtures', 'tty-test.c')) + eq(expected_path, eval('expand("%:p")')) + end) + + it('with ../ and different starting directory #7117', function() + command('cd test') + command('edit '..join_path('..', targetdir, 'tty-test.c')) + eq(expected_path, eval('expand("%:p")')) + end) + + it('with ./../ and different starting directory #7117', function() + command('cd test') + command('edit '..join_path('.', '..', targetdir, 'tty-test.c')) + eq(expected_path, eval('expand("%:p")')) + end) +end) |