diff options
| -rw-r--r-- | src/nvim/version.c | 1 | ||||
| -rw-r--r-- | test/functional/legacy/105_filename_modifiers_spec.lua | 87 | ||||
| -rw-r--r-- | test/functional/legacy/fnamemodify_spec.lua | 64 | 
3 files changed, 65 insertions, 87 deletions
| diff --git a/src/nvim/version.c b/src/nvim/version.c index 0889ba8ccf..bab3d1573a 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -69,6 +69,7 @@ static char *features[] = {  // clang-format off  static int included_patches[] = { +  1652,    1643,    1641,    1574, diff --git a/test/functional/legacy/105_filename_modifiers_spec.lua b/test/functional/legacy/105_filename_modifiers_spec.lua deleted file mode 100644 index f7eb48e1da..0000000000 --- a/test/functional/legacy/105_filename_modifiers_spec.lua +++ /dev/null @@ -1,87 +0,0 @@ --- Test filename modifiers. - -local helpers = require('test.functional.helpers') -local clear = helpers.clear -local execute, expect = helpers.execute, helpers.expect - -describe('filename modifiers', function() -  setup(clear) - -  it('is working', function() -    local tmpdir = helpers.nvim('eval', 'resolve("/tmp")') - -    execute('cd ' .. tmpdir) -    execute([=[set shell=sh]=]) -    execute([=[set shellslash]=]) -    execute([=[let tab="\t"]=]) -    execute([=[command -nargs=1 Put :let expr=<q-args> | $put =expr.tab.strtrans(string(eval(expr)))]=]) -    execute([=[let $HOME=fnamemodify('.', ':p:h:h:h')]=]) -    execute([=[Put fnamemodify('.',              ':p'      )[-1:]]=]) -    execute([=[Put fnamemodify('.',              ':p:h'    )[-1:]]=]) -    execute([=[Put fnamemodify('test.out',       ':p'      )[-1:]]=]) -    execute([=[Put fnamemodify('test.out',       ':.'      )]=]) -    execute([=[Put fnamemodify('../testdir/a',   ':.'      )]=]) -    execute([=[Put fnamemodify('test.out',       ':~'      )]=]) -    execute([=[Put fnamemodify('../testdir/a',   ':~'      )]=]) -    execute([=[Put fnamemodify('../testdir/a',   ':t'      )]=]) -    execute([=[Put fnamemodify('.',              ':p:t'    )]=]) -    execute([=[Put fnamemodify('test.out',       ':p:t'    )]=]) -    execute([=[Put fnamemodify('test.out',       ':p:e'    )]=]) -    execute([=[Put fnamemodify('test.out',       ':p:t:e'  )]=]) -    execute([=[Put fnamemodify('abc.fb2.tar.gz', ':r'      )]=]) -    execute([=[Put fnamemodify('abc.fb2.tar.gz', ':r:r'    )]=]) -    execute([=[Put fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )]=]) -    execute([=[Put substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(nvim/testdir/.*\)', '\1', '')]=]) -    execute([=[Put fnamemodify('abc.fb2.tar.gz', ':e'      )]=]) -    execute([=[Put fnamemodify('abc.fb2.tar.gz', ':e:e'    )]=]) -    execute([=[Put fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )]=]) -    execute([=[Put fnamemodify('abc.fb2.tar.gz', ':e:e:e:e')]=]) -    execute([=[Put fnamemodify('abc.fb2.tar.gz', ':e:e:r'  )]=]) -    execute([=[Put fnamemodify('abc def',        ':S'      )]=]) -    execute([=[Put fnamemodify('abc" "def',      ':S'      )]=]) -    execute([=[Put fnamemodify('abc"%"def',      ':S'      )]=]) -    execute([=[Put fnamemodify('abc'' ''def',    ':S'      )]=]) -    execute([=[Put fnamemodify('abc''%''def',    ':S'      )]=]) -    execute([=[Put fnamemodify("abc\ndef",       ':S'      )]=]) -    execute([=[Put expand('%:r:S') == shellescape(expand('%:r'))]=]) -    execute([=[new foo.txt]=]) -    execute([=[Put join([expand('%:r'), expand('%:r:S'), expand('%')], ',')]=]) -    execute([=[quit]=]) -    execute([=[set shell=tcsh]=]) -    execute([=[Put fnamemodify("abc\ndef",       ':S'      )]=]) -    execute([=[1 delete _]=]) - -    -- Assert buffer contents. -    expect([=[ -      fnamemodify('.',              ':p'      )[-1:]	'/' -      fnamemodify('.',              ':p:h'    )[-1:]	'p' -      fnamemodify('test.out',       ':p'      )[-1:]	't' -      fnamemodify('test.out',       ':.'      )	'test.out' -      fnamemodify('../testdir/a',   ':.'      )	'../testdir/a' -      fnamemodify('test.out',       ':~'      )	'test.out' -      fnamemodify('../testdir/a',   ':~'      )	'../testdir/a' -      fnamemodify('../testdir/a',   ':t'      )	'a' -      fnamemodify('.',              ':p:t'    )	'' -      fnamemodify('test.out',       ':p:t'    )	'test.out' -      fnamemodify('test.out',       ':p:e'    )	'out' -      fnamemodify('test.out',       ':p:t:e'  )	'out' -      fnamemodify('abc.fb2.tar.gz', ':r'      )	'abc.fb2.tar' -      fnamemodify('abc.fb2.tar.gz', ':r:r'    )	'abc.fb2' -      fnamemodify('abc.fb2.tar.gz', ':r:r:r'  )	'abc' -      substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(nvim/testdir/.*\)', '\1', '')	']=] .. tmpdir .. [=[/abc.fb2' -      fnamemodify('abc.fb2.tar.gz', ':e'      )	'gz' -      fnamemodify('abc.fb2.tar.gz', ':e:e'    )	'tar.gz' -      fnamemodify('abc.fb2.tar.gz', ':e:e:e'  )	'fb2.tar.gz' -      fnamemodify('abc.fb2.tar.gz', ':e:e:e:e')	'fb2.tar.gz' -      fnamemodify('abc.fb2.tar.gz', ':e:e:r'  )	'tar' -      fnamemodify('abc def',        ':S'      )	'''abc def''' -      fnamemodify('abc" "def',      ':S'      )	'''abc" "def''' -      fnamemodify('abc"%"def',      ':S'      )	'''abc"%"def''' -      fnamemodify('abc'' ''def',    ':S'      )	'''abc''\'''' ''\''''def''' -      fnamemodify('abc''%''def',    ':S'      )	'''abc''\''''%''\''''def''' -      fnamemodify("abc\ndef",       ':S'      )	'''abc^@def''' -      join([expand('%:r'), expand('%:r:S'), expand('%')], ',')	'foo,''foo'',foo.txt' -      expand('%:r:S') == shellescape(expand('%:r'))	1 -      fnamemodify("abc\ndef",       ':S'      )	'''abc\^@def''']=]) -  end) -end) diff --git a/test/functional/legacy/fnamemodify_spec.lua b/test/functional/legacy/fnamemodify_spec.lua new file mode 100644 index 0000000000..a439e91b6f --- /dev/null +++ b/test/functional/legacy/fnamemodify_spec.lua @@ -0,0 +1,64 @@ +-- Test filename modifiers. + +local helpers = require('test.functional.helpers') +local clear, source = helpers.clear, helpers.source +local call, eq, nvim = helpers.call, helpers.eq, helpers.meths + +local function expected_empty() +  eq({}, nvim.get_vvar('errors')) +end + +describe('filename modifiers', function() +  before_each(function() +    clear() + +    source([=[ +      func Test_fnamemodify() +        let tmpdir = resolve('/tmp') +        execute 'cd '. tmpdir +        set shell=sh +        set shellslash +        let $HOME=fnamemodify('.', ':p:h:h:h') +        call assert_equal('/', fnamemodify('.', ':p')[-1:]) +        call assert_equal('p', fnamemodify('.', ':p:h')[-1:]) +        call assert_equal('t', fnamemodify('test.out', ':p')[-1:]) +        call assert_equal('test.out', fnamemodify('test.out', ':.')) +        call assert_equal('../testdir/a', fnamemodify('../testdir/a', ':.')) +        call assert_equal('test.out', fnamemodify('test.out', ':~')) +        call assert_equal('../testdir/a', fnamemodify('../testdir/a', ':~')) +        call assert_equal('a', fnamemodify('../testdir/a', ':t')) +        call assert_equal('', fnamemodify('.', ':p:t')) +        call assert_equal('test.out', fnamemodify('test.out', ':p:t')) +        call assert_equal('out', fnamemodify('test.out', ':p:e')) +        call assert_equal('out', fnamemodify('test.out', ':p:t:e')) +        call assert_equal('abc.fb2.tar', fnamemodify('abc.fb2.tar.gz', ':r')) +        call assert_equal('abc.fb2', fnamemodify('abc.fb2.tar.gz', ':r:r')) +        call assert_equal('abc', fnamemodify('abc.fb2.tar.gz', ':r:r:r')) +        call assert_equal(tmpdir .'/abc.fb2', substitute(fnamemodify('abc.fb2.tar.gz', ':p:r:r'), '.*\(nvim/testdir/.*\)', '\1', '')) +        call assert_equal('gz', fnamemodify('abc.fb2.tar.gz', ':e')) +        call assert_equal('tar.gz', fnamemodify('abc.fb2.tar.gz', ':e:e')) +        call assert_equal('fb2.tar.gz', fnamemodify('abc.fb2.tar.gz', ':e:e:e')) +        call assert_equal('fb2.tar.gz', fnamemodify('abc.fb2.tar.gz', ':e:e:e:e')) +        call assert_equal('tar', fnamemodify('abc.fb2.tar.gz', ':e:e:r')) +        call assert_equal('''abc def''', fnamemodify('abc def', ':S')) +        call assert_equal('''abc" "def''', fnamemodify('abc" "def', ':S')) +        call assert_equal('''abc"%"def''', fnamemodify('abc"%"def', ':S')) +        call assert_equal('''abc''\'''' ''\''''def''', fnamemodify('abc'' ''def', ':S')) +        call assert_equal('''abc''\''''%''\''''def''', fnamemodify('abc''%''def', ':S')) +        new foo.txt +        call assert_equal(expand('%:r:S'), shellescape(expand('%:r'))) +        call assert_equal('foo,''foo'',foo.txt', join([expand('%:r'), expand('%:r:S'), expand('%')], ',')) +        quit + +        call assert_equal("'abc\ndef'", fnamemodify("abc\ndef", ':S')) +        set shell=tcsh +        call assert_equal("'abc\\\ndef'", fnamemodify("abc\ndef", ':S')) +      endfunc +    ]=]) +  end) + +  it('is working', function() +    call('Test_fnamemodify') +    expected_empty() +  end) +end) | 
