初始化奇妙小屏幕控制器项目
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
|
||||
SOURCE_ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(SOURCE_ROOT / "src"))
|
||||
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
||||
|
||||
from PySide6.QtWidgets import QApplication, QLineEdit # noqa: E402
|
||||
from matrix_image_editor.gui import MainWindow # noqa: E402
|
||||
from test_config import sample_config # noqa: E402
|
||||
|
||||
|
||||
class GuiTests(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls) -> None:
|
||||
cls.app = QApplication.instance() or QApplication([])
|
||||
|
||||
def setUp(self) -> None:
|
||||
self.window = MainWindow()
|
||||
|
||||
def tearDown(self) -> None:
|
||||
self.window.close()
|
||||
|
||||
def test_passwords_are_hidden_and_dhcp_disables_static_fields(self) -> None:
|
||||
self.assertEqual(self.window.account_password.echoMode(), QLineEdit.EchoMode.Password)
|
||||
self.assertEqual(self.window.wifi_password.echoMode(), QLineEdit.EchoMode.Password)
|
||||
for widget in (self.window.address, self.window.prefix, self.window.gateway, self.window.dns):
|
||||
self.assertFalse(widget.isEnabled())
|
||||
self.window.mode.setCurrentIndex(1)
|
||||
for widget in (self.window.address, self.window.prefix, self.window.gateway, self.window.dns):
|
||||
self.assertTrue(widget.isEnabled())
|
||||
|
||||
def test_loaded_values_collect_without_changing_image_version(self) -> None:
|
||||
config = sample_config()
|
||||
self.window._apply_loaded(Path("sample.img"), config)
|
||||
self.window.username.setText("new_user")
|
||||
collected = self.window._collect()
|
||||
self.assertEqual(collected["software_version"], config["software_version"])
|
||||
self.assertEqual(collected["account"]["username"], "new_user")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user