def ClangdCompleter_GetClangdCommand_NoCustomBinary_test(): user_options = DefaultOptions() # Supported binary in third_party. THIRD_PARTY = '/third_party/clangd' clangd_completer.CLANGD_COMMAND = clangd_completer.NOT_CACHED with patch('ycmd.completers.cpp.clangd_completer.GetThirdPartyClangd', return_value=THIRD_PARTY): eq_(clangd_completer.GetClangdCommand(user_options)[0], THIRD_PARTY) # With args clangd_completer.CLANGD_COMMAND = clangd_completer.NOT_CACHED CLANGD_ARGS = ["1", "2", "3"] user_options['clangd_args'] = CLANGD_ARGS eq_(clangd_completer.GetClangdCommand(user_options)[1:4], CLANGD_ARGS) # No supported binary in third_party. clangd_completer.CLANGD_COMMAND = clangd_completer.NOT_CACHED with patch('ycmd.completers.cpp.clangd_completer.GetThirdPartyClangd', return_value=None): eq_(clangd_completer.GetClangdCommand(user_options), None) clangd_completer.CLANGD_COMMAND = clangd_completer.NOT_CACHED
def ClangdCompleter_GetClangdCommand_CustomBinary_test(): CLANGD_PATH = '/test/clangd' user_options = DefaultOptions() user_options['clangd_binary_path'] = CLANGD_PATH # Supported version. with patch('ycmd.completers.cpp.clangd_completer.CheckClangdVersion', return_value=True): clangd_completer.CLANGD_COMMAND = clangd_completer.NOT_CACHED eq_(clangd_completer.GetClangdCommand(user_options)[0], CLANGD_PATH) # No Clangd binary in the given path. with patch('ycmd.completers.cpp.clangd_completer.FindExecutable', return_value=None): clangd_completer.CLANGD_COMMAND = clangd_completer.NOT_CACHED eq_(clangd_completer.GetClangdCommand(user_options), None) # Unsupported version. with patch('ycmd.completers.cpp.clangd_completer.CheckClangdVersion', return_value=False): # Never fall back to the third-party Clangd. clangd_completer.CLANGD_COMMAND = clangd_completer.NOT_CACHED eq_(clangd_completer.GetClangdCommand(user_options), None) clangd_completer.CLANGD_COMMAND = clangd_completer.NOT_CACHED