functional.vader 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. Execute (plug#shellescape() works without optional arguments):
  2. if has('unix')
  3. AssertEqual "''", plug#shellescape("")
  4. AssertEqual "'foo'\\'''", plug#shellescape("foo'")
  5. endif
  6. Execute (plug#shellescape() ignores invalid optional argument):
  7. if has('unix')
  8. AssertEqual "''", plug#shellescape("", '')
  9. AssertEqual "'foo'\\'''", plug#shellescape("foo'", [])
  10. endif
  11. Execute (plug#shellescape() depends on the shell):
  12. AssertEqual "'foo'\\'''", plug#shellescape("foo'", {'shell': 'sh'})
  13. AssertEqual '^"foo''^"', plug#shellescape("foo'", {'shell': 'cmd.exe'})
  14. AssertEqual "'foo'''", plug#shellescape("foo'", {'shell': 'powershell.exe'})
  15. AssertEqual "'foo'''", plug#shellescape("foo'", {'shell': 'pwsh'})
  16. Execute (plug#shellescape() supports non-trivial cmd.exe escaping):
  17. " batchfile
  18. AssertEqual '^"^^%%PATH^^%%^"', plug#shellescape("^%PATH^%", {
  19. \ 'shell': 'cmd.exe',
  20. \ })
  21. AssertEqual '^"^^%%PATH^^%%^"', plug#shellescape("^%PATH^%", {
  22. \ 'shell': 'cmd.exe',
  23. \ 'script': 1,
  24. \ })
  25. " command prompt
  26. AssertEqual '^"^^^%PATH^^^%^"', plug#shellescape("^%PATH^%", {
  27. \ 'shell': 'cmd.exe',
  28. \ 'script': 0,
  29. \ }),
  30. Execute (plug#shellescape() supports non-trivial powershell.exe escaping):
  31. AssertEqual '''\"Foo\\''''\\Bar\"''', plug#shellescape('"Foo\''\Bar"', {
  32. \ 'shell': 'powershell.exe',
  33. \ }),