File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 6969import pytest
7070from pytest import WarningsRecorder
7171
72- from git .cmd import Git
72+ from git .cmd import Git , GitMeta
7373
7474from .lib import assert_no_deprecation_warning , suppress_deprecation_warning
7575
@@ -377,3 +377,15 @@ def test_instance_dir() -> None:
377377 instance = Git ()
378378 actual = set (dir (instance ))
379379 assert _EXPECTED_DIR_SUBSET <= actual
380+
381+
382+ def test_metaclass_alias () -> None :
383+ """GitMeta aliases Git's metaclass, whether that is type or a custom metaclass."""
384+
385+ def accept_metaclass_instance (cls : GitMeta ) -> None :
386+ """Check that cls is statically recognizable as an instance of GitMeta."""
387+
388+ accept_metaclass_instance (Git ) # assert_type would expect Type[Git], not GitMeta.
389+
390+ # This comes after the static check, just in case it would affect the inference.
391+ assert type (Git ) is GitMeta
You can’t perform that action at this time.
0 commit comments