From bc74d098369b811dac920bbf8f8dfeab5c39eb91 Mon Sep 17 00:00:00 2001 From: thatsIch Date: Mon, 12 Dec 2016 21:31:34 +0100 Subject: [PATCH] Add logger tests --- logger.py | 13 ++++++------- tests/test_logger.py | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 tests/test_logger.py diff --git a/logger.py b/logger.py index fe7140e..c16ef27 100644 --- a/logger.py +++ b/logger.py @@ -10,15 +10,12 @@ # Is required now due to async call and ignoring sublime.* from main routine ''' +setting_key = "rainmeter_enable_logging" -def plugin_loaded(): - global __log - - key = "rainmeter_enable_logging" - settings = sublime.load_settings("Rainmeter.sublime-settings") - __log = settings.get(key, False) - settings.add_on_change(key, __load_settings) +def plugin_loaded(): + settings = __load_settings() + settings.add_on_change(setting_key, __load_settings) info(__file__, "plugin_loaded()", "Logger succesfully loaded.") @@ -30,6 +27,8 @@ def __load_settings(): global __log __log = settings.get(key, False) + return settings + def info(file_path, function, string): if __log: diff --git a/tests/test_logger.py b/tests/test_logger.py new file mode 100644 index 0000000..57c7e71 --- /dev/null +++ b/tests/test_logger.py @@ -0,0 +1,34 @@ +import sys + +from unittest import TestCase + +logger = sys.modules["Rainmeter.logger"] + + +class TestFunctions(TestCase): + + def test_info(self): + """ + info should not through exceptions due to settings + """ + try: + logger.info( + __file__, + "test_info(self)", + "info test" + ) + except Exception as error: + self.fail("logger.info() raised exception '" + error + "'") + + def test_error(self): + """ + error should not through exception due to settings + """ + try: + logger.error( + __file__, + "test_error(self)", + "error test" + ) + except Exception as error: + self.fail("logger.error() raised exception '" + error + "'")