paths_test.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. 'Path {0} does not end with a Python name.'.format( path ) )
  30. def EndsWithPython_Bad( path ):
  31. ok_( not _EndsWithPython( path ),
  32. 'Path {0} does end with a Python name.'.format( path ) )
  33. def EndsWithPython_Python2Paths_test():
  34. python_paths = [
  35. 'python',
  36. 'python2',
  37. '/usr/bin/python2.7',
  38. '/home/user/.pyenv/shims/python2.7',
  39. r'C:\Python27\python.exe',
  40. '/Contents/MacOS/Python'
  41. ]
  42. for path in python_paths:
  43. yield EndsWithPython_Good, path
  44. def EndsWithPython_Python3Paths_test():
  45. python_paths = [
  46. 'python3',
  47. '/usr/bin/python3.5',
  48. '/home/user/.pyenv/shims/python3.5',
  49. r'C:\Python35\python.exe'
  50. ]
  51. for path in python_paths:
  52. yield EndsWithPython_Good, path
  53. def EndsWithPython_BadPaths_test():
  54. not_python_paths = [
  55. None,
  56. '',
  57. '/opt/local/bin/vim',
  58. r'C:\Program Files\Vim\vim74\gvim.exe',
  59. '/usr/bin/python2.5',
  60. '/home/user/.pyenv/shims/python3.2',
  61. ]
  62. for path in not_python_paths:
  63. yield EndsWithPython_Bad, path