slint/api/python/tests/test_loader.py
Simon Hausmann f86f4993fa Python: Replace import magic with an auto-loader
As discussed on Reddit, the magic import logic is not very tool friendly and a little too magic perhaps. Instead, this patch introduces an automatic loader (`slint.loader`), which can traverse `sys.path` and lazily load `.slint` files by attribute lookup.

Closes #4856
2024-04-18 16:04:20 +02:00

25 lines
687 B
Python

# Copyright © SixtyFPS GmbH <info@slint.dev>
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.2 OR LicenseRef-Slint-commercial
import pytest
from slint import slint as native
from slint import loader
import sys
import os
def test_magic_import():
instance = loader.test_load_file.App()
del instance
def test_magic_import_path():
oldsyspath = sys.path
assert loader.printerdemo == None
try:
sys.path.append(os.path.join(os.path.dirname(__file__),
"..", "..", ".."))
instance = loader.examples.printerdemo.ui.printerdemo.MainWindow()
del instance
finally:
sys.path = oldsyspath