(mocker: MockerFixture, monkeypatch: pytest.MonkeyPatch)
| 81 | |
| 82 | |
| 83 | def test_android_folder_from_jnius(mocker: MockerFixture, monkeypatch: pytest.MonkeyPatch) -> None: |
| 84 | from platformdirs import PlatformDirs # noqa: PLC0415 |
| 85 | from platformdirs.android import _android_folder # noqa: PLC0415 |
| 86 | |
| 87 | mocker.patch.dict(sys.modules, {"android": MagicMock(side_effect=ModuleNotFoundError)}) |
| 88 | monkeypatch.delitem(__import__("sys").modules, "android") |
| 89 | |
| 90 | _android_folder.cache_clear() |
| 91 | |
| 92 | if PlatformDirs is Android: |
| 93 | import jnius # pragma: no cover # noqa: PLC0415 |
| 94 | |
| 95 | autoclass = mocker.spy(jnius, "autoclass") # pragma: no cover |
| 96 | else: |
| 97 | parent = MagicMock(return_value=MagicMock(getAbsolutePath=MagicMock(return_value="/A"))) # pragma: no cover |
| 98 | context = MagicMock(getFilesDir=MagicMock(return_value=MagicMock(getParentFile=parent))) # pragma: no cover |
| 99 | autoclass = MagicMock(return_value=context) # pragma: no cover |
| 100 | mocker.patch.dict(sys.modules, {"jnius": MagicMock(autoclass=autoclass)}) # pragma: no cover |
| 101 | |
| 102 | result = _android_folder() |
| 103 | assert result == "/A" |
| 104 | assert autoclass.call_count == 1 |
| 105 | |
| 106 | assert autoclass.call_args[0] == ("android.content.Context",) |
| 107 | |
| 108 | assert _android_folder() is result |
| 109 | assert autoclass.call_count == 1 |
| 110 | |
| 111 | |
| 112 | def test_android_folder_from_p4a(mocker: MockerFixture, monkeypatch: pytest.MonkeyPatch) -> None: |
nothing calls this directly
no test coverage detected
searching dependent graphs…