Exemple #1
0
    def test_enabled(self):
        self.view.run_command('insert', {"characters": '.'})

        self.client.send_request = MagicMock()

        handler = CompletionHandler(self.view)
        self.assertEquals(handler.state, CompletionState.IDLE)

        result = handler.on_query_completions("", [1])
        self.assertIsNotNone(result)
        items, mask = result
        self.assertEquals(len(items), 0)
        self.assertEquals(
            mask, sublime.INHIBIT_WORD_COMPLETIONS
            | sublime.INHIBIT_EXPLICIT_COMPLETIONS)

        self.assertTrue(handler.initialized)
        self.assertTrue(handler.enabled)
        self.assertEquals(handler.state, CompletionState.REQUESTING)

        self.client.send_request.assert_called_once()
Exemple #2
0
    def test_item_with_partial_edit(self):
        # issue #368, where using textEdit breaks PHP completions:
        # $|
        # PHP language server returns a partial completion "what"
        # sublime uses it to replace '$' with 'what'
        # to test:
        # settings.complete_using_text_edit = True
        yield 100  # wait for file to be open

        item = {
            'insertText': None,
            # 'sortText': None,
            # 'filterText': None,
            'label': '$what',
            'textEdit': {
                'range': {
                    'end': {
                        'character': 1,
                        'line': 0
                    },
                    'start': {
                        'character': 1,
                        'line': 0
                    }
                },
                'newText': 'what'
            }
        }

        handler = CompletionHandler(self.view)
        handler.last_location = 1
        handler.last_prefix = ""
        result = handler.format_completion(item)
        self.assertEqual(len(result), 2)
        self.assertEqual("$what", result[0])
        self.assertEqual("\\$what", result[1])
Exemple #3
0
 def test_is_applicable(self):
     self.assertEquals(len(client_configs.all), 1)
     self.assertTrue(CompletionHandler.is_applicable(dict(syntax=SUPPORTED_SYNTAX)))
Exemple #4
0
 def test_is_not_applicable(self):
     self.assertFalse(CompletionHandler.is_applicable(dict()))
Exemple #5
0
 def test_prefers_insert_text(self):
     handler = CompletionHandler(self.view)
     result = handler.format_completion(create_completion_item("asdf", "Asdf"))
     self.assertEqual(len(result), 2)
     self.assertEqual("asdf", result[0])
     self.assertEqual("Asdf", result[1])
Exemple #6
0
 def test_only_label_item(self):
     handler = CompletionHandler(self.view)
     result = handler.format_completion(create_completion_item("asdf"))
     self.assertEqual(len(result), 2)
     self.assertEqual("asdf", result[0])
     self.assertEqual("asdf", result[1])
Exemple #7
0
 def test_is_applicable(self):
     self.assertTrue(
         CompletionHandler.is_applicable(dict(syntax=SUPPORTED_SYNTAX)))