def test_populate_flags(self): """Testing include population.""" # open any existing file file_name = path.join(path.dirname(__file__), 'test_files', 'test_wrong_triggers.cpp') self.set_up_view(file_name) # now test the things manager = SettingsManager() settings = manager.user_settings() valid, _ = settings.is_valid() self.assertTrue(valid) p = path.join(sublime.packages_path(), "User", "EasyClangComplete.sublime-settings") if path.exists(p): user = sublime.load_resource( "Packages/User/EasyClangComplete.sublime-settings") if "common_flags" in user: # The user modified the default common flags, just skip the # next few tests. return initial_common_flags = list(settings.common_flags) settings = manager.settings_for_view(self.view) dirs = settings.common_flags current_folder = path.dirname(self.view.file_name()) parent_folder = path.dirname(current_folder) self.assertTrue(len(initial_common_flags) <= len(dirs)) self.assertTrue(initial_common_flags[0] in dirs) self.assertFalse(initial_common_flags[1] in dirs) self.assertTrue(("-I" + current_folder) in dirs) self.assertTrue(("-I" + parent_folder) in dirs)
def test_init(self): """Test that settings are correctly initialized.""" manager = SettingsManager() settings = manager.user_settings() self.assertIsNotNone(settings.verbose) self.assertIsNotNone(settings.include_file_folder) self.assertIsNotNone(settings.include_file_parent_folder) self.assertIsNotNone(settings.triggers) self.assertIsNotNone(settings.common_flags) self.assertIsNotNone(settings.clang_binary) self.assertIsNotNone(settings.flags_sources) self.assertIsNotNone(settings.show_errors)
def test_unsaved_views(self): """Test that we gracefully handle unsaved views.""" # Construct an unsaved scratch view. self.view = sublime.active_window().new_file() self.view.set_scratch(True) # Manually set up a completer. manager = SettingsManager() settings = manager.settings_for_view(self.view) view_config_manager = ViewConfigManager() view_config = view_config_manager.load_for_view(self.view, settings) self.assertIsNone(view_config)
def set_up_completer(self): """Utility method to set up a completer for the current view. Returns: BaseCompleter: completer for the current view. """ manager = SettingsManager() settings = manager.settings_for_view(self.view) settings.use_libclang = self.use_libclang view_config_manager = ViewConfigManager() view_config = view_config_manager.load_for_view(self.view, settings) completer = view_config.completer return completer
def test_wrong_triggers(self): """Test that we don't complete on numbers and wrong triggers.""" self.tearDown() self.setUpView(path.join('test_files', 'test_wrong_triggers.cpp')) # Load the completions. manager = SettingsManager() settings = manager.user_settings() # Check the current cursor position is completable. self.assertEqual(self.getRow(2), " a > 2.") # check that '>' does not trigger completions pos = self.view.text_point(2, 5) current_word = self.view.substr(self.view.word(pos)) self.assertEqual(current_word, "> ") status = Tools.get_pos_status(pos, self.view, settings) # Verify that we got the expected completions back. self.assertEqual(status, PosStatus.WRONG_TRIGGER) # check that ' >' does not trigger completions pos = self.view.text_point(2, 4) current_word = self.view.substr(self.view.word(pos)) self.assertEqual(current_word, " >") status = Tools.get_pos_status(pos, self.view, settings) # Verify that we got the expected completions back. self.assertEqual(status, PosStatus.COMPLETION_NOT_NEEDED) # check that '2.' does not trigger completions pos = self.view.text_point(2, 8) current_word = self.view.substr(self.view.word(pos)) self.assertEqual(current_word, ".\n") status = Tools.get_pos_status(pos, self.view, settings) # Verify that we got the expected completions back. self.assertEqual(status, PosStatus.WRONG_TRIGGER)
def test_populate_flags(self): """Testing include population.""" # open any existing file file_name = path.join(path.dirname(__file__), 'test_files', 'test_wrong_triggers.cpp') self.set_up_view(file_name) # now test the things manager = SettingsManager() settings = manager.user_settings() self.assertTrue(settings.is_valid()) initial_common_flags = list(settings.common_flags) settings = manager.settings_for_view(self.view) dirs = settings.common_flags current_folder = path.dirname(self.view.file_name()) parent_folder = path.dirname(current_folder) self.assertTrue(len(initial_common_flags) <= len(dirs)) self.assertTrue(initial_common_flags[0] in dirs) self.assertFalse(initial_common_flags[1] in dirs) self.assertTrue(("-I" + current_folder) in dirs) self.assertTrue(("-I" + parent_folder) in dirs) self.tear_down()
def test_valid(self): """Test validity.""" manager = SettingsManager() settings = manager.user_settings() valid, _ = settings.is_valid() self.assertTrue(valid)