fss-polish/tests/test_polish.py
FSSCoding 9316bc50f1 Initial commit: FSS-Polish v1.0.0
Complete implementation of Fast Spelling and Style Polish tool with:
- Australian English spelling conversion (7 patterns + case preservation)
- CLI support with text input or clipboard mode
- Daemon mode with configurable hotkey
- MIN_LENGTH, AGGRESSION, and CUSTOM_DICTIONARY config options
- Comprehensive diff logging
- 12 passing tests (100% test coverage for AU spelling)
- Wheel package built and ready for deployment
- Agent-friendly CLI with stdin/stdout support

Features:
- Text correction using t5-small-spoken-typo model
- Australian/American spelling conversion
- Configurable correction aggression levels
- Custom dictionary whitelist support
- Background daemon with hotkey trigger
- CLI tool for direct text polishing
- Preserves clipboard history (adds new item vs replace)

Ready for deployment to /opt and Gitea repository.
2025-10-25 23:59:34 +11:00

22 lines
804 B
Python

import unittest
import os
from src.config import HOTKEY, LOGGING, AGGRESSION, CUSTOM_DICTIONARY, MIN_LENGTH, CONFIG_FILE
from src.utils import setup_logging, log_diff
class TestPolish(unittest.TestCase):
def test_config_settings(self):
# Test configuration settings
self.assertEqual(HOTKEY, "ctrl+alt+p")
self.assertTrue(LOGGING)
self.assertEqual(AGGRESSION, "minimal")
self.assertEqual(CUSTOM_DICTIONARY, ["Lucy", "FoxSoft", "tantra", "mtb"])
self.assertEqual(MIN_LENGTH, 10)
self.assertTrue(CONFIG_FILE.endswith("config.ini"))
def test_logging(self):
# Test logging functionality
self.assertTrue(callable(setup_logging))
self.assertTrue(callable(log_diff))
if __name__ == "__main__":
unittest.main()