diff --git a/mkdocs/config/config_options.py b/mkdocs/config/config_options.py index 18a5ddab..689092ea 100644 --- a/mkdocs/config/config_options.py +++ b/mkdocs/config/config_options.py @@ -946,7 +946,7 @@ class Plugins(OptionallyRequired[plugins.PluginCollection]): 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 f3319425..34c09673 100644 --- a/mkdocs/tests/config/config_options_tests.py +++ b/mkdocs/tests/config/config_options_tests.py @@ -1812,6 +1812,14 @@ class PluginsTest(TestCase): 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()