Ejemplo n.º 1
0
 def test_SignatureHelp_MethodTrigger(self, app):
     RunTest(
         app, {
             'description': 'Trigger after (',
             'request': {
                 'filetype': 'go',
                 'filepath': PathToTestFile('td', 'signature_help.go'),
                 'line_num': 10,
                 'column_num': 18,
             },
             'expect': {
                 'response':
                 requests.codes.ok,
                 'data':
                 has_entries({
                     'errors':
                     empty(),
                     'signature_help':
                     has_entries({
                         'activeSignature':
                         0,
                         'activeParameter':
                         0,
                         'signatures':
                         contains_exactly(
                             SignatureMatcher('add(x int, y int) int', [
                                 ParameterMatcher(4, 9),
                                 ParameterMatcher(11, 16)
                             ])),
                     }),
                 })
             }
         })
Ejemplo n.º 2
0
def Signature_Help_Multiple_Signatures_test( app ):
  RunTest( app, {
    'description': 'Test overloaded methods',
    'request': {
      'filetype'  : 'typescript',
      'filepath'  : PathToTestFile( 'signatures.ts' ),
      'line_num'  : 89,
      'column_num': 18,
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 1,
          'activeParameter': 1,
          'signatures': contains(
            SignatureMatcher( 'øverløåd(a: number): string',
                              [ ParameterMatcher( 12, 21 ) ] ),
            SignatureMatcher( 'øverløåd(a: string, b: number): string',
                              [ ParameterMatcher( 12, 21 ),
                                ParameterMatcher( 23, 32 ) ] )
          ),
        } ),
      } )
    }
  } )
Ejemplo n.º 3
0
def Signature_Help_Trigger_Comma_test( app ):
  RunTest( app, {
    'description': 'Trigger after ,',
    'request': {
      'filetype'  : 'typescript',
      'filepath'  : PathToTestFile( 'signatures.ts' ),
      'line_num'  : 60,
      'column_num': 32,
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 0,
          'activeParameter': 1,
          'signatures': contains(
            SignatureMatcher(
              ( 'multi_argument_no_return(løng_våriable_name: number, '
                                          'untyped_argument: any): number' ),
              [ ParameterMatcher( 25, 53 ), ParameterMatcher( 55, 76 ) ] )
          ),
        } ),
      } )
    }
  } )
Ejemplo n.º 4
0
def SignatureHelp_TriggerComma_test(app):
    filepath = PathToTestFile('testy', 'ContinuousTest.cs')
    contents = ReadFile(filepath)
    request = BuildRequest(line_num=17,
                           column_num=16,
                           filetypes=['cs'],
                           filepath=filepath,
                           contents=contents)
    with WrapOmniSharpServer(app, filepath):
        response = app.post_json('/signature_help', request).json
        LOGGER.debug('response = %s', response)
        assert_that(
            response,
            has_entries({
                'errors':
                empty(),
                'signature_help':
                has_entries({
                    'activeSignature':
                    0,
                    'activeParameter':
                    1,
                    'signatures':
                    contains(
                        SignatureMatcher(
                            'void ContinuousTest.MultiArg(int i, string s)', [
                                ParameterMatcher(29, 34),
                                ParameterMatcher(36, 44)
                            ]))
                })
            }))
Ejemplo n.º 5
0
def SignatureHelp_ArgTrigger_test( app ):
  RunTest( app, {
    'description': 'Trigger after ,',
    'request': {
      'filetype'  : 'java',
      'filepath'  : ProjectPath( 'SignatureHelp.java' ),
      'line_num'  : 5,
      'column_num': 23,
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 1,
          'activeParameter': 1,
          'signatures': contains_exactly(
            SignatureMatcher( 'test(int i, String s) : void',
                              [ ParameterMatcher( 5, 10 ),
                                ParameterMatcher( 12, 20 ) ] ),
            SignatureMatcher( 'test(String s, String s1) : void',
                              [ ParameterMatcher( 5, 13 ),
                                ParameterMatcher( 15, 24 ) ] )
          ),
        } ),
      } )
    }
  } )
Ejemplo n.º 6
0
def SignatureHelp_MultipleParameters_test( app ):
  RunTest( app, {
    'description': 'Trigger after ,',
    'request': {
      'filetype'  : 'python',
      'filepath'  : PathToTestFile( 'signature_help.py' ),
      'line_num'  : 14,
      'column_num': 50,
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 0,
          'activeParameter': 1,
          'signatures': contains(
            SignatureMatcher( 'def MultipleArguments( a, b, c )',
                              [ ParameterMatcher( 23, 24 ),
                                ParameterMatcher( 26, 27 ),
                                ParameterMatcher( 29, 30 ) ] )
          ),
        } ),
      } )
    }
  } )
Ejemplo n.º 7
0
def SignatureHelp_CallWithinCall_test( app ):
  RunTest( app, {
    'description': 'Trigger after , within a call-within-a-call',
    'request': {
      'filetype'  : 'python',
      'filepath'  : PathToTestFile( 'signature_help.py' ),
      'line_num'  : 14,
      'column_num': 43,
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 0,
          'activeParameter': 1,
          'signatures': contains(
            SignatureMatcher( 'def center( width: int, fillchar: str=... )',
                              [ ParameterMatcher( 12, 22 ),
                                ParameterMatcher( 24, 41 ) ] )
          ),
        } ),
      } )
    }
  } )
def Signature_Help_Trigger_After_Arguments_Narrow2_test( app ):
  RunTest( app, {
    'description': 'After resolution of overload not the first one',
    'request': {
      'filetype'  : 'cpp',
      'filepath'  : PathToTestFile( 'general_fallback',
                                    'make_drink.cc' ),
      'line_num'  : 8,
      'column_num': 53,
      'signature_help_state': 'ACTIVE',
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 0,
          'activeParameter': 2,
          'signatures': contains_exactly(
            SignatureMatcher( 'make_drink(TypeOfDrink type, '
                              'Temperature temp, '
                              'int sugargs) -> Drink &', [
                                ParameterMatcher( 11, 27 ),
                                ParameterMatcher( 29, 45 ),
                                ParameterMatcher( 47, 58 ),
                              ] )
          )
        } ),
      } ),
    },
  } )
Ejemplo n.º 9
0
 def test_Signature_Help_WithDoc( self, app ):
   RunTest( app, {
     'description': 'Test parameter documentation',
     'request': {
       'filetype': 'typescript',
       'filepath': PathToTestFile( 'signatures.ts' ),
       'line_num': 101,
       'column_num': 26,
     },
     'expect': {
       'response': requests.codes.ok,
       'data': has_entries( {
         'errors': empty(),
         'signature_help': has_entries( {
           'activeSignature': 0,
           'activeParameter': 0,
           'signatures': contains_exactly(
             SignatureMatcher(
               'single_argument_with_doc(a: string): string',
               [ ParameterMatcher( 25, 34, '- The argument' ) ],
               'A function with a single argument' ) )
         } ),
       } )
     }
   } )
Ejemplo n.º 10
0
def Signature_Help_Trigger_Paren_test(app):
    RunTest(
        app, {
            'description': 'Trigger after (',
            'request': {
                'filetype': 'typescript',
                'filepath': PathToTestFile('signatures.ts'),
                'line_num': 27,
                'column_num': 29,
            },
            'expect': {
                'response':
                requests.codes.ok,
                'data':
                has_entries({
                    'errors':
                    empty(),
                    'signature_help':
                    has_entries({
                        'activeSignature':
                        0,
                        'activeParameter':
                        0,
                        'signatures':
                        contains(
                            SignatureMatcher(
                                'single_argument_with_return(a: string): string',
                                [ParameterMatcher(28, 37)])),
                    }),
                })
            }
        })
Ejemplo n.º 11
0
 def test_SignatureHelp_MethodTrigger(self, app):
     RunTest(
         app, {
             'description': 'Trigger after (',
             'request': {
                 'filetype': 'java',
                 'filepath': ProjectPath('SignatureHelp.java'),
                 'line_num': 9,
                 'column_num': 17,
             },
             'expect': {
                 'response':
                 requests.codes.ok,
                 'data':
                 has_entries({
                     'errors':
                     empty(),
                     'signature_help':
                     has_entries({
                         'activeSignature':
                         0,
                         'activeParameter':
                         0,
                         'signatures':
                         contains_exactly(
                             SignatureMatcher('unique(double d) : void',
                                              [ParameterMatcher(7, 15)])),
                     }),
                 })
             }
         })
Ejemplo n.º 12
0
 def test_SignatureHelp_Constructor(self, app):
     RunTest(
         app, {
             'description': 'Constructor',
             'request': {
                 'filetype': 'java',
                 'filepath': ProjectPath('SignatureHelp.java'),
                 'line_num': 17,
                 'column_num': 41,
             },
             'expect': {
                 'response':
                 requests.codes.ok,
                 'data':
                 has_entries({
                     'errors':
                     empty(),
                     'signature_help':
                     has_entries({
                         'activeSignature':
                         0,
                         'activeParameter':
                         0,
                         'signatures':
                         contains_exactly(
                             SignatureMatcher(
                                 'SignatureHelp(String signature)',
                                 [ParameterMatcher(14, 30)])),
                     }),
                 })
             }
         })
Ejemplo n.º 13
0
def Signature_Help_Trigger_AngleBracket_test( app ):
  RunTest( app, {
    'description': 'Trigger after <',
    'request': {
      'filetype'  : 'typescript',
      'filepath'  : PathToTestFile( 'signatures.ts' ),
      'line_num'  : 68,
      'column_num': 9,
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 0,
          'activeParameter': 0,
          'signatures': contains(
            SignatureMatcher(
              'generic<TYPE extends ReturnValue>(t: SomeClass): string',
              [ ParameterMatcher( 8, 32 ) ] )
          ),
        } ),
      } )
    }
  } )
Ejemplo n.º 14
0
def SignatureHelp_MethodTrigger_test( app ):
  RunTest( app, {
    'description': 'Trigger after (',
    'request': {
      'filetype'  : 'python',
      'filepath'  : PathToTestFile( 'general_fallback',
                                    'lang_python.py' ),
      'line_num'  : 6,
      'column_num': 10,
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 0,
          'activeParameter': 0,
          'signatures': contains(
            SignatureMatcher( 'def hack( obj )',
                              [ ParameterMatcher( 10, 13 ) ] )
          ),
        } ),
      } )
    }
  } )
Ejemplo n.º 15
0
 def test_SignatureHelp_TriggerParen(self, app):
     filepath = PathToTestFile('testy', 'ContinuousTest.cs')
     contents = ReadFile(filepath)
     request = BuildRequest(line_num=10,
                            column_num=9,
                            filetypes=['cs'],
                            filepath=filepath,
                            contents=contents)
     with WrapOmniSharpServer(app, filepath):
         response = app.post_json('/signature_help', request).json
         LOGGER.debug('response = %s', response)
         assert_that(
             response,
             has_entries({
                 'errors':
                 empty(),
                 'signature_help':
                 has_entries({
                     'activeSignature':
                     0,
                     'activeParameter':
                     0,
                     'signatures':
                     contains_exactly(
                         SignatureMatcher(
                             'void ContinuousTest.Main(string[] args)',
                             [ParameterMatcher(25, 38)]))
                 })
             }))
Ejemplo n.º 16
0
def SignatureHelp_Constructor_test(app):
    RunTest(
        app, {
            'description': 'Trigger after , within a call-within-a-call',
            'request': {
                'filetype': 'python',
                'filepath': PathToTestFile('signature_help.py'),
                'line_num': 14,
                'column_num': 61,
            },
            'expect': {
                'response':
                requests.codes.ok,
                'data':
                has_entries({
                    'errors':
                    empty(),
                    'signature_help':
                    has_entries({
                        'activeSignature':
                        0,
                        'activeParameter':
                        0,
                        'signatures':
                        contains(
                            SignatureMatcher('class Class( argument )',
                                             [ParameterMatcher(13, 21)])),
                    }),
                })
            }
        })
Ejemplo n.º 17
0
 def test_SignatureHelp_MultipleDefinitions_OneActive(self, app):
     RunTest(
         app, {
             'description':
             'Jedi returns multiple signatures - both active',
             'request': {
                 'filetype': 'python',
                 'filepath': PathToTestFile('signature_help.py'),
                 'line_num': 30,
                 'column_num': 30,
             },
             'expect': {
                 'response':
                 requests.codes.ok,
                 'data':
                 has_entries({
                     'errors':
                     empty(),
                     'signature_help':
                     has_entries({
                         'activeSignature':
                         1,
                         'activeParameter':
                         3,
                         'signatures':
                         contains_exactly(
                             SignatureMatcher(
                                 'def MultipleDefinitions( a, b, c )', [
                                     ParameterMatcher(25, 26),
                                     ParameterMatcher(28, 29),
                                     ParameterMatcher(31, 32)
                                 ]),
                             SignatureMatcher(
                                 'def MultipleDefinitions( many,'
                                 ' more,'
                                 ' arguments,'
                                 ' to,'
                                 ' this,'
                                 ' one )', [
                                     ParameterMatcher(25, 29),
                                     ParameterMatcher(31, 35),
                                     ParameterMatcher(37, 46),
                                     ParameterMatcher(48, 50),
                                     ParameterMatcher(52, 56),
                                     ParameterMatcher(58, 61)
                                 ])),
                     }),
                 })
             }
         })
Ejemplo n.º 18
0
 def test_Signature_Help_Trigger_After_Arguments_Narrow(self, app):
     RunTest(
         app, {
             'description': 'After resolution of overload',
             'request': {
                 'filetype': 'cpp',
                 'filepath': PathToTestFile('general_fallback',
                                            'make_drink.cc'),
                 'line_num': 7,
                 'column_num': 41,
                 'signature_help_state': 'ACTIVE',
             },
             'expect': {
                 'response':
                 requests.codes.ok,
                 'data':
                 has_entries({
                     'errors':
                     empty(),
                     'signature_help':
                     has_entries({
                         'activeSignature':
                         0,
                         'activeParameter':
                         2,
                         'signatures':
                         contains_exactly(
                             SignatureMatcher(
                                 'make_drink(TypeOfDrink type, '
                                 'double fizziness, '
                                 'Flavour Flavour) -> Drink &', [
                                     ParameterMatcher(11, 27),
                                     ParameterMatcher(29, 45),
                                     ParameterMatcher(47, 62),
                                 ]))
                     }),
                 }),
             },
         })
Ejemplo n.º 19
0
def Signature_Help_Trigger_After_OtherTrigger_ReTrigger_test(app):
    RunTest(
        app, {
            'description': 'Triggering after , but already ACTIVE',
            'request': {
                'filetype': 'cpp',
                'filepath': PathToTestFile('general_fallback',
                                           'make_drink.cc'),
                'line_num': 7,
                'column_num': 35,
                'signature_help_state': 'ACTIVE',
            },
            'expect': {
                'response':
                requests.codes.ok,
                'data':
                has_entries({
                    'errors':
                    empty(),
                    'signature_help':
                    has_entries({
                        'activeSignature':
                        0,
                        'activeParameter':
                        1,
                        'signatures':
                        contains(
                            SignatureMatcher(
                                'make_drink(TypeOfDrink type, '
                                'Temperature temp, '
                                'int sugargs) -> Drink &', [
                                    ParameterMatcher(11, 27),
                                    ParameterMatcher(29, 45),
                                    ParameterMatcher(47, 58),
                                ]),
                            SignatureMatcher(
                                'make_drink(TypeOfDrink type, '
                                'double fizziness, '
                                'Flavour Flavour) -> Drink &', [
                                    ParameterMatcher(11, 27),
                                    ParameterMatcher(29, 45),
                                    ParameterMatcher(47, 62),
                                ]),
                        )
                    }),
                }),
            },
        })
Ejemplo n.º 20
0
 def test_Signature_Help_Trigger_JustBeforeClose(self, app):
     RunTest(
         app, {
             'description': 'Last argument, before )',
             'request': {
                 'filetype': 'cpp',
                 'filepath': PathToTestFile('general_fallback',
                                            'make_drink.cc'),
                 'line_num': 8,
                 'column_num': 33,
                 'signature_help_state': 'ACTIVE',
             },
             'expect': {
                 'response':
                 requests.codes.ok,
                 'data':
                 has_entries({
                     'errors':
                     empty(),
                     'signature_help':
                     has_entries({
                         'activeSignature':
                         0,
                         'activeParameter':
                         0,
                         'signatures':
                         contains_exactly(
                             SignatureMatcher(
                                 'make_drink(TypeOfDrink type, '
                                 'Temperature temp, '
                                 'int sugargs) -> Drink &', [
                                     ParameterMatcher(11, 27),
                                     ParameterMatcher(29, 45),
                                     ParameterMatcher(47, 58),
                                 ]),
                             SignatureMatcher(
                                 'make_drink(TypeOfDrink type, '
                                 'double fizziness, '
                                 'Flavour Flavour) -> Drink &', [
                                     ParameterMatcher(11, 27),
                                     ParameterMatcher(29, 45),
                                     ParameterMatcher(47, 62),
                                 ]),
                         )
                     }),
                 }),
             },
         })
Ejemplo n.º 21
0
def SignatureHelp_MultipleSignatures_test( app ):
  filepath = PathToTestFile( 'testy', 'ContinuousTest.cs' )
  contents = ReadFile( filepath )
  request = BuildRequest(
    line_num = 18,
    column_num = 15,
    filetypes = [ 'cs' ],
    filepath = filepath,
    contents = contents )
  with WrapOmniSharpServer( app, filepath ):
    response = app.post_json( '/signature_help', request ).json
    LOGGER.debug( 'response = %s', response )
    assert_that( response, has_entries( {
      'errors': empty(),
      'signature_help': has_entries( {
        'activeSignature': 0,
        'activeParameter': 0,
        'signatures': contains_exactly(
          SignatureMatcher( 'void ContinuousTest.Overloaded(int i, int a)',
                            [ ParameterMatcher( 31, 36 ),
                              ParameterMatcher( 38, 43 ) ] ),
          SignatureMatcher( 'void ContinuousTest.Overloaded(string s)',
                            [ ParameterMatcher( 31, 39 ) ] ),
        )
      } )
    } ) )
  request[ 'column_num' ] = 20
  with WrapOmniSharpServer( app, filepath ):
    response = app.post_json( '/signature_help', request ).json
    LOGGER.debug( 'response = %s', response )
    assert_that( response, has_entries( {
      'errors': empty(),
      'signature_help': has_entries( {
        'activeSignature': 0,
        'activeParameter': 1,
        'signatures': contains_exactly(
          SignatureMatcher( 'void ContinuousTest.Overloaded(int i, int a)',
                            [ ParameterMatcher( 31, 36 ),
                              ParameterMatcher( 38, 43 ) ] ),
          SignatureMatcher( 'void ContinuousTest.Overloaded(string s)',
                            [ ParameterMatcher( 31, 39 ) ] ),
        )
      } )
    } ) )
Ejemplo n.º 22
0
def SignatureHelp_MethodTrigger_test( app ):
  RunTest( app, {
    'description': 'Trigger after (',
    'request': {
      'filetype'  : 'rust',
      'filepath'  : PathToTestFile( 'common', 'src', 'test.rs' ),
      'line_num'  : 13,
      'column_num': 20,
    },
    'expect': {
      'response': requests.codes.ok,
      'data': has_entries( {
        'errors': empty(),
        'signature_help': has_entries( {
          'activeSignature': 0,
          'activeParameter': 0,
          'signatures': contains_exactly(
            SignatureMatcher( 'pub fn build_rocket(&self)',
                              [ ParameterMatcher( 20, 25 ) ] )
          ),
        } ),
      } )
    }
  } )