| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- Execute (plug#shellescape() works without optional arguments):
- if has('unix')
- AssertEqual "''", plug#shellescape("")
- AssertEqual "'foo'\\'''", plug#shellescape("foo'")
- endif
- Execute (plug#shellescape() ignores invalid optional argument):
- if has('unix')
- AssertEqual "''", plug#shellescape("", '')
- AssertEqual "'foo'\\'''", plug#shellescape("foo'", [])
- endif
- Execute (plug#shellescape() depends on the shell):
- AssertEqual "'foo'\\'''", plug#shellescape("foo'", {'shell': 'sh'})
- AssertEqual '^"foo''^"', plug#shellescape("foo'", {'shell': 'cmd.exe'})
- AssertEqual "'foo'''", plug#shellescape("foo'", {'shell': 'powershell'})
- AssertEqual "'foo'''", plug#shellescape("foo'", {'shell': 'powershell.exe'})
- AssertEqual "'foo'''", plug#shellescape("foo'", {'shell': 'pwsh'})
- Execute (plug#shellescape() supports non-trivial cmd.exe escaping):
- " batchfile
- AssertEqual '^"^^%%PATH^^%%^"', plug#shellescape("^%PATH^%", {
- \ 'shell': 'cmd.exe',
- \ })
- AssertEqual '^"^^%%PATH^^%%^"', plug#shellescape("^%PATH^%", {
- \ 'shell': 'cmd.exe',
- \ 'script': 1,
- \ })
- " command prompt
- AssertEqual '^"^^^%PATH^^^%^"', plug#shellescape("^%PATH^%", {
- \ 'shell': 'cmd.exe',
- \ 'script': 0,
- \ }),
- Execute (plug#shellescape() supports non-trivial powershell.exe escaping):
- AssertEqual '''\"Foo\\''''\\Bar\"''', plug#shellescape('"Foo\''\Bar"', {
- \ 'shell': 'powershell',
- \ }),
- AssertEqual '''\"Foo\\''''\\Bar\"''', plug#shellescape('"Foo\''\Bar"', {
- \ 'shell': 'powershell.exe',
- \ }),
|