mirror of
https://github.com/mkdocs/mkdocs.git
synced 2026-03-27 09:58:31 +07:00
Better guard an edge case in plugin config
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user