base_request_test.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # Copyright (C) 2017-2018 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 ycm.tests.test_utils import MockVimBuffers, MockVimModule, VimBuffer
  18. MockVimModule()
  19. from hamcrest import assert_that, has_entry
  20. from unittest import TestCase
  21. from unittest.mock import patch
  22. from ycm.client.base_request import BuildRequestData
  23. class BaseRequestTest( TestCase ):
  24. @patch( 'ycm.client.base_request.GetCurrentDirectory',
  25. return_value = '/some/dir' )
  26. def test_BuildRequestData_AddWorkingDir( self, *args ):
  27. current_buffer = VimBuffer( 'foo' )
  28. with MockVimBuffers( [ current_buffer ], [ current_buffer ] ):
  29. assert_that( BuildRequestData(), has_entry( 'working_dir', '/some/dir' ) )
  30. @patch( 'ycm.client.base_request.GetCurrentDirectory',
  31. return_value = '/some/dir' )
  32. def test_BuildRequestData_AddWorkingDirWithFileName( self, *args ):
  33. current_buffer = VimBuffer( 'foo' )
  34. with MockVimBuffers( [ current_buffer ], [ current_buffer ] ):
  35. assert_that( BuildRequestData( current_buffer.number ),
  36. has_entry( 'working_dir', '/some/dir' ) )