Files
juzi/tools/test_export_psd_assets.py
T

36 lines
1.3 KiB
Python

"""The third PSD inserts 扫描 before 登录; never silently use its index."""
import unittest
from export_psd_assets import layer_at, ASSET_SPECS
class Page(list):
def __init__(self, name):
super().__init__([["background"], [], [], [], [], [], [], [None, "brand", None, None, None, None, "wechat", "guest"]])
self.name = name
class LoginMappingTest(unittest.TestCase):
def test_old_and_new_layout(self):
for index in (9, 10):
pages = [Page("other") for _ in range(index)] + [Page("登录")]
if index == 10:
pages[9].name = "扫描"
self.assertEqual(layer_at(pages, "login/0/0"), "background")
self.assertEqual(layer_at(pages, "login/7/1"), "brand")
self.assertEqual(layer_at(pages, "login/7/6"), "wechat")
def test_missing_or_ambiguous_login(self):
for pages in ([], [Page("扫描")], [Page("登录"), Page("登录")]):
with self.assertRaises(ValueError):
layer_at(pages, "login/0/0")
def test_every_login_asset_uses_semantic_mapping(self):
names = {"bg-login.jpg", "brand-login.png", "icon-wechat.png", "icon-guest.png"}
for filename, key, _ in ASSET_SPECS:
if filename in names:
self.assertTrue(key.startswith("login/"))
if __name__ == "__main__":
unittest.main()