diff --git a/ycmd/completers/general/filename_completer.py b/ycmd/completers/general/filename_completer.py index 2b0a60719d..65344413b9 100644 --- a/ycmd/completers/general/filename_completer.py +++ b/ycmd/completers/general/filename_completer.py @@ -161,7 +161,7 @@ def GetPathsIncludeCase( self, path_dir, quoted_include, filepath, paths.extend( os.path.join( include_path, path_dir, relative_path ) for relative_path in relative_paths ) - return sorted( set( paths ) ) + return paths def _GetAbsolutePathForCompletions( path_dir, diff --git a/ycmd/tests/filename_completer_test.py b/ycmd/tests/filename_completer_test.py index d2d9951ac6..1a556edafb 100644 --- a/ycmd/tests/filename_completer_test.py +++ b/ycmd/tests/filename_completer_test.py @@ -25,7 +25,7 @@ from builtins import * # noqa import os -from hamcrest import assert_that, contains_inanyorder +from hamcrest import assert_that, contains_inanyorder, empty from nose.tools import eq_, ok_ from ycmd.completers.general.filename_completer import FilenameCompleter from ycmd.request_wrap import RequestWrap @@ -117,66 +117,68 @@ def _ShouldUseNowForLine( self, contents, column_num=None ): def QuotedIncludeCompletion_test( self ): data = self._CompletionResultsForLine( '#include "' ) - eq_( [ - ( u'foo漢字.txt', '[File]' ), - ( 'include', '[Dir]' ), - ( 'Qt', '[Dir]' ), - ( 'QtGui', '[File&Dir]' ), - ( 'QDialog', '[File]' ), - ( 'QWidget', '[File]' ), - ( 'test.cpp', '[File]' ), - ( 'test.hpp', '[File]' ), - ], data ) + assert_that( data, contains_inanyorder( + ( 'QDialog', '[File]' ), + ( 'QWidget', '[File]' ), + ( 'Qt', '[Dir]' ), + ( 'QtGui', '[File&Dir]' ), + ( 'foo漢字.txt', '[File]' ), + ( 'include', '[Dir]' ), + ( 'test.cpp', '[File]' ), + ( 'test.hpp', '[File]' ) + ) ) data = self._CompletionResultsForLine( '#include "include/' ) - eq_( [ - ( 'Qt', '[Dir]' ), - ( 'QtGui', '[Dir]' ), - ], data ) + assert_that( data, contains_inanyorder( + ( 'Qt', '[Dir]' ), + ( 'QtGui', '[Dir]' ) + ) ) def IncludeCompletion_test( self ): data = self._CompletionResultsForLine( '#include <' ) - eq_( [ - ( 'Qt', '[Dir]' ), - ( 'QtGui', '[File&Dir]' ), - ( 'QDialog', '[File]' ), - ( 'QWidget', '[File]' ), - ], data ) + assert_that( data, contains_inanyorder( + ( 'QDialog', '[File]' ), + ( 'QWidget', '[File]' ), + ( 'Qt', '[Dir]' ), + ( 'QtGui', '[File&Dir]' ) + ) ) data = self._CompletionResultsForLine( '#include