import logging import tkinter as tk from tkinter.scrolledtext import ScrolledText from tkinter_logger import TkinterLogger, get_logger def test_tkinter_logger_integration(tmp_path): """Test that tkinter_logger from submodule works correctly.""" try: root = tk.Tk() root.withdraw() except Exception: import pytest pytest.skip("Tk not available in this environment") text = ScrolledText(root, height=5, state=tk.DISABLED) try: # Setup logger system logger_system = TkinterLogger(root) logger_system.setup(enable_console=False) # Add tkinter handler logger_system.add_tkinter_handler(text, level_colors={logging.INFO: "black"}) # Get logger and log messages lg = get_logger("pyucc.test") lg.info("Hello logger") lg.error("Error here") # Wait for messages to be processed root.update_idletasks() root.after(300) # Wait for processing root.update() # Check content content = text.get("1.0", "end").strip() assert "Hello logger" in content or "Error here" in content finally: logger_system.shutdown() try: root.destroy() except Exception: pass def test_get_logger_function(): """Test that get_logger works correctly.""" lg = get_logger("pyucc.test2") assert lg is not None assert lg.name == "pyucc.test2"