paths_test.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # Copyright (C) 2016-2017 YouCompleteMe contributors
  2. #
  3. # This file is part of YouCompleteMe.
  4. #
  5. # YouCompleteMe is free software: you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation, either version 3 of the License, or
  8. # (at your option) any later version.
  9. #
  10. # YouCompleteMe is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. # GNU General Public License for more details.
  14. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with YouCompleteMe. If not, see <http://www.gnu.org/licenses/>.
  17. from __future__ import unicode_literals
  18. from __future__ import print_function
  19. from __future__ import division
  20. from __future__ import absolute_import
  21. # Not installing aliases from python-future; it's unreliable and slow.
  22. from builtins import * # noqa
  23. from ycm.tests.test_utils import MockVimModule
  24. MockVimModule()
  25. from nose.tools import ok_
  26. from ycm.paths import _EndsWithPython
  27. def EndsWithPython_Good( path ):
  28. ok_( _EndsWithPython( path ) )
  29. def EndsWithPython_Bad( path ):
  30. ok_( not _EndsWithPython( path ) )
  31. def EndsWithPython_Python2Paths_test():
  32. python_paths = [
  33. 'python',
  34. 'python2',
  35. '/usr/bin/python2.6',
  36. '/home/user/.pyenv/shims/python2.7',
  37. r'C:\Python26\python.exe'
  38. ]
  39. for path in python_paths:
  40. yield EndsWithPython_Good, path
  41. def EndsWithPython_Python3Paths_test():
  42. python_paths = [
  43. 'python3',
  44. '/usr/bin/python3.3',
  45. '/home/user/.pyenv/shims/python3.3',
  46. r'C:\Python33\python.exe'
  47. ]
  48. for path in python_paths:
  49. yield EndsWithPython_Good, path
  50. def EndsWithPython_BadPaths_test():
  51. not_python_paths = [
  52. None,
  53. '',
  54. '/opt/local/bin/vim',
  55. r'C:\Program Files\Vim\vim74\gvim.exe',
  56. '/usr/bin/python2.5',
  57. '/home/user/.pyenv/shims/python3.2',
  58. ]
  59. for path in not_python_paths:
  60. yield EndsWithPython_Bad, path