JMComic-Crawler-Python/tests/test_jmcomic/__init__.py

69 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import io
import platform
import unittest
# noinspection PyUnresolvedReferences
import jmcomic
from jmcomic import *
# set encoding
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, 'utf-8')
class JmTestConfigurable(unittest.TestCase):
option: JmOption = None
client: JmcomicClient = None
def setUp(self) -> None:
print_sep('>')
def tearDown(self) -> None:
print_sep('<')
@classmethod
def setUpClass(cls):
# 获取项目根目录
application_workspace = os.path.abspath(os.path.dirname(__file__) + '/../..')
# 设置 workspace → assets/
set_application_workspace(f'{application_workspace}/assets/')
# 设置 JmOptionJmcomicClient
option = cls.use_option('option_test.yml')
cls.option = option
cls.client = option.build_jm_client()
# 跨平台设置
cls.adapt_os()
@staticmethod
def use_option(op_filename: str) -> JmOption:
return create_option(workspace(f"/config/{op_filename}"))
@staticmethod
def move_workspace(new_dir: str):
set_application_workspace(workspace(f"/{new_dir}/", is_dir=True))
@classmethod
def adapt_os(cls):
adapt_func_dict = {
'Windows': cls.adapt_win,
'Darwin': cls.adapt_macos,
'Linux': cls.adapt_linux,
}
adapt_func_dict.get(platform.system(), lambda *args, **kwargs: None)()
@classmethod
def adapt_win(cls):
pass
@classmethod
def adapt_linux(cls):
pass
@classmethod
def adapt_macos(cls):
pass