def test_markdown_logger_inactive(): """ Since calls to it are commented out most of the time, test the debug_with_visible_whitespace function manually. """ configuration_file_name = None new_handler = None root_logger = None file_as_lines = None try: configuration_file_name = write_temporary_configuration("") new_handler = logging.FileHandler(configuration_file_name) root_logger = logging.getLogger() root_logger.setLevel(logging.WARNING) root_logger.addHandler(new_handler) assert POGGER.is_enabled_for(logging.WARNING) new_logger = ParserLogger(logging.getLogger(__name__)) new_logger.debug("simple logging") finally: if root_logger and new_handler: root_logger.removeHandler(new_handler) new_handler.close() with open(configuration_file_name, encoding="utf-8") as file_to_parse: file_as_lines = file_to_parse.readlines() if configuration_file_name and os.path.exists(configuration_file_name): os.remove(configuration_file_name) assert not file_as_lines
def test_markdown_logger_arg_list_out_of_sync(): """ Test to verify that if we don't have the same number of $ characters in the string as arguments in the list, an exception with be thrown. """ # Arrange try: root_logger = logging.getLogger() root_logger.setLevel(logging.DEBUG) assert POGGER.is_enabled_for(logging.DEBUG) new_logger = ParserLogger(logging.getLogger(__name__)) new_logger.debug("one sub $ but two in list", 1, 2) raise AssertionError("An exception should have been thrown by now.") except Exception as this_exception: assert ( str(this_exception) == "The number of $ substitution characters does not equal the number of arguments in the list." )