mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Fix the valid types check for `Any
in
sphinx.config
`
This commit is contained in:
parent
1e98161d1f
commit
7bf847d2b9
@ -4,6 +4,9 @@ Release 7.3.3 (in development)
|
|||||||
Bugs fixed
|
Bugs fixed
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
* #12290: Fix a false-positive warning when setting a configuration value
|
||||||
|
with ``Any`` as the valid type to a type other than the value's default.
|
||||||
|
Patch by Adam Turner.
|
||||||
|
|
||||||
Release 7.3.2 (released Apr 17, 2024)
|
Release 7.3.2 (released Apr 17, 2024)
|
||||||
=====================================
|
=====================================
|
||||||
|
@ -658,7 +658,7 @@ def check_confval_types(app: Sphinx | None, config: Config) -> None:
|
|||||||
if default is None and not valid_types:
|
if default is None and not valid_types:
|
||||||
continue # neither inferable nor explicitly annotated types
|
continue # neither inferable nor explicitly annotated types
|
||||||
|
|
||||||
if valid_types is Any: # any type of value is accepted
|
if valid_types == frozenset({Any}): # any type of value is accepted
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if isinstance(valid_types, ENUM):
|
if isinstance(valid_types, ENUM):
|
||||||
|
@ -5,7 +5,7 @@ import pickle
|
|||||||
import time
|
import time
|
||||||
from collections import Counter
|
from collections import Counter
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING, Any
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@ -552,6 +552,14 @@ def test_check_enum_for_list_failed(logger):
|
|||||||
assert logger.warning.called
|
assert logger.warning.called
|
||||||
|
|
||||||
|
|
||||||
|
@mock.patch("sphinx.config.logger")
|
||||||
|
def test_check_any(logger):
|
||||||
|
config = Config({'value': None})
|
||||||
|
config.add('value', 'default', '', Any)
|
||||||
|
check_confval_types(None, config)
|
||||||
|
logger.warning.assert_not_called() # not warned
|
||||||
|
|
||||||
|
|
||||||
nitpick_warnings = [
|
nitpick_warnings = [
|
||||||
"WARNING: py:const reference target not found: prefix.anything.postfix",
|
"WARNING: py:const reference target not found: prefix.anything.postfix",
|
||||||
"WARNING: py:class reference target not found: prefix.anything",
|
"WARNING: py:class reference target not found: prefix.anything",
|
||||||
|
Loading…
Reference in New Issue
Block a user