MCPcopy Create free account
hub / github.com/tox-dev/platformdirs / test_android_folder_from_jnius

Function test_android_folder_from_jnius

tests/test_android.py:83–109  ·  view source on GitHub ↗
(mocker: MockerFixture, monkeypatch: pytest.MonkeyPatch)

Source from the content-addressed store, hash-verified

81
82
83def 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
112def test_android_folder_from_p4a(mocker: MockerFixture, monkeypatch: pytest.MonkeyPatch) -> None:

Callers

nothing calls this directly

Calls 1

_android_folderFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…