|
| 1 | +from unittest import mock |
| 2 | + |
1 | 3 | from pycaw.magic import MagicApp, MagicManager, MagicSession |
2 | 4 |
|
3 | 5 |
|
| 6 | +def patch_atexit_register(): |
| 7 | + """Prevent MagicManager.clean_up() call as it seems to misbehave with tests.""" |
| 8 | + return mock.patch("atexit.register") |
| 9 | + |
| 10 | + |
4 | 11 | class TestMagic: |
5 | 12 | def test_init(self): |
6 | 13 | app_execs = {"msedge.exe"} |
7 | | - magic = MagicApp(app_execs) |
| 14 | + # prevent MagicManager.clean_up() call as it seems to misbehave with tests |
| 15 | + with patch_atexit_register() as m_register: |
| 16 | + magic = MagicApp(app_execs) |
8 | 17 | assert magic.app_execs == app_execs |
| 18 | + assert m_register.called |
9 | 19 |
|
10 | 20 |
|
11 | 21 | class TestMagicManager: |
12 | 22 | def test_magic_session(self): |
13 | 23 | assert MagicManager.MagicSessionConfigured is None |
14 | 24 | MagicManager.magic_session(MagicSession) |
15 | 25 | assert MagicManager.MagicSessionConfigured == (MagicSession, (), {}) |
| 26 | + |
| 27 | + def test_unregister_all(self): |
| 28 | + assert MagicManager.magic_apps is not None |
| 29 | + assert ( |
| 30 | + MagicManager.str() |
| 31 | + == "<MagicManager magic_apps='1' magic_sessions='1' active_mrs='1' trash_mrs='0'/>" |
| 32 | + ) |
| 33 | + MagicManager.unregister_all() |
| 34 | + assert MagicManager.str() == "unactive MagicManager" |
| 35 | + assert hasattr(MagicManager, "magic_apps") is False |
| 36 | + assert hasattr(MagicManager, "magic_sessions") is False |
| 37 | + assert MagicManager.magic_activated is None |
0 commit comments