2025-12-17 17:45:18 +01:00
|
|
|
#test_stilpruefer.py
|
2025-12-02 20:55:51 +01:00
|
|
|
import unittest
|
|
|
|
|
import tempfile
|
|
|
|
|
import os
|
2025-12-17 17:45:18 +01:00
|
|
|
import sys
|
2025-12-02 20:55:51 +01:00
|
|
|
|
2025-12-17 17:45:18 +01:00
|
|
|
# Plugin-Root ermitteln (ein Verzeichnis über "test")
|
|
|
|
|
ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
|
|
|
|
|
sys.path.insert(0, ROOT)
|
|
|
|
|
from modules.stilpruefer import Stilpruefer
|
|
|
|
|
from modules.pruef_ergebnis import PruefErgebnis
|
2025-12-02 20:55:51 +01:00
|
|
|
class TestStilpruefer(unittest.TestCase):
|
|
|
|
|
def setUp(self):
|
|
|
|
|
self.pruefer = Stilpruefer()
|
|
|
|
|
|
|
|
|
|
def test_keine_datei_angegeben(self):
|
|
|
|
|
result = self.pruefer.pruefe("")
|
|
|
|
|
self.assertTrue(result.erfolgreich)
|
|
|
|
|
self.assertIn("Kein Stil angegeben.", result.warnungen)
|
|
|
|
|
self.assertIsNone(result.daten["stil"])
|
|
|
|
|
|
|
|
|
|
def test_datei_existiert_mit_qml(self):
|
|
|
|
|
with tempfile.NamedTemporaryFile(suffix=".qml", delete=False) as tmp_file:
|
|
|
|
|
tmp_path = tmp_file.name
|
|
|
|
|
try:
|
|
|
|
|
result = self.pruefer.pruefe(tmp_path)
|
|
|
|
|
self.assertTrue(result.erfolgreich)
|
|
|
|
|
self.assertEqual(result.daten["stil"], tmp_path)
|
|
|
|
|
self.assertEqual(result.fehler, [])
|
|
|
|
|
finally:
|
|
|
|
|
os.remove(tmp_path)
|
|
|
|
|
|
|
|
|
|
def test_datei_existiert_falsche_endung(self):
|
|
|
|
|
with tempfile.NamedTemporaryFile(suffix=".txt", delete=False) as tmp_file:
|
|
|
|
|
tmp_path = tmp_file.name
|
|
|
|
|
try:
|
|
|
|
|
result = self.pruefer.pruefe(tmp_path)
|
|
|
|
|
self.assertFalse(result.erfolgreich)
|
|
|
|
|
self.assertIn("Ungültige Dateiendung", result.fehler[0])
|
|
|
|
|
finally:
|
|
|
|
|
os.remove(tmp_path)
|
|
|
|
|
|
|
|
|
|
def test_datei_existiert_nicht(self):
|
|
|
|
|
fake_path = os.path.join(tempfile.gettempdir(), "nichtvorhanden.qml")
|
|
|
|
|
result = self.pruefer.pruefe(fake_path)
|
|
|
|
|
self.assertFalse(result.erfolgreich)
|
|
|
|
|
self.assertIn("Stildatei nicht gefunden", result.fehler[0])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
unittest.main()
|