diff --git a/mkdocs/config/config_options.py b/mkdocs/config/config_options.py index 18a5ddab3b..689092ea18 100644 --- a/mkdocs/config/config_options.py +++ b/mkdocs/config/config_options.py @@ -946,7 +946,7 @@ def _parse_configs(cls, value: Union[list, tuple, dict]) -> Iterator[Tuple[str, else: for item in value: if isinstance(item, dict): - if len(item) > 1: + if len(item) != 1: raise ValidationError('Invalid Plugins configuration') name, cfg = item.popitem() else: diff --git a/mkdocs/tests/config/config_options_tests.py b/mkdocs/tests/config/config_options_tests.py index f33194251d..34c09673f3 100644 --- a/mkdocs/tests/config/config_options_tests.py +++ b/mkdocs/tests/config/config_options_tests.py @@ -1812,6 +1812,14 @@ class Schema(Config): with self.expect_error(plugins="Invalid Plugins configuration"): self.get_config(Schema, cfg) + cfg = { + 'plugins': [ + {}, + ], + } + with self.expect_error(plugins="Invalid Plugins configuration"): + self.get_config(Schema, cfg) + def test_plugin_config_not_string_or_dict(self, mock_class) -> None: class Schema(Config): plugins = c.Plugins()