mirror of
https://github.com/slint-ui/slint.git
synced 2025-09-29 05:14:48 +00:00

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
25 lines
687 B
Python
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
|