Exemple #1
0
 def DiagnosticResponse(*args):
     start = Location(2, 2, 'TEST_BUFFER')
     end = Location(2, 4, 'TEST_BUFFER')
     extent = Range(start, end)
     diagnostic = Diagnostic([], start, extent, 'cast', 'WARNING')
     return [BuildDiagnosticData(diagnostic)]
 def DiagnosticResponse(*args):
     start = Location(1, 2, 'TEST_BUFFER')
     end = Location(1, 4, 'TEST_BUFFER')
     extent = Range(start, end)
     diagnostic = Diagnostic([], start, extent, 'expected ;', 'ERROR')
     return [BuildDiagnosticData(diagnostic)]
Exemple #3
0
def CppBindings_DiagnosticVector_test():
    filename = PathToTestFile('foo.c')
    unsaved_file_vector = ycm_core.UnsavedFileVector()
    flags = ycm_core.StringVector()
    flags.append(ToCppStr('-xc++'))
    clang_completer = ycm_core.ClangCompleter()

    diag_vector = clang_completer.UpdateTranslationUnit(
        ToCppStr(filename), unsaved_file_vector, flags)

    del filename
    del unsaved_file_vector
    del flags
    del clang_completer

    diag_vector = diag_vector[0:1]
    EmplaceBack(diag_vector, diag_vector[0])

    diags = [BuildDiagnosticData(x) for x in diag_vector]

    del diag_vector

    assert_that(
        diags,
        contains(
            has_entries({
                'kind':
                'ERROR',
                'text':
                contains_string('expected \';\' at end of declaration'),
                'ranges':
                contains(),
                'location':
                has_entries({
                    'line_num': 3,
                    'column_num': 16,
                }),
                'location_extent':
                has_entries({
                    'start':
                    has_entries({
                        'line_num': 3,
                        'column_num': 16,
                    }),
                    'end':
                    has_entries({
                        'line_num': 3,
                        'column_num': 16,
                    }),
                }),
            }),
            has_entries({
                'kind':
                'ERROR',
                'text':
                contains_string('expected \';\' at end of declaration'),
                'ranges':
                contains(),
                'location':
                has_entries({
                    'line_num': 3,
                    'column_num': 16,
                }),
                'location_extent':
                has_entries({
                    'start':
                    has_entries({
                        'line_num': 3,
                        'column_num': 16,
                    }),
                    'end':
                    has_entries({
                        'line_num': 3,
                        'column_num': 16,
                    }),
                }),
            }),
        ))