Skip to content

Fix UserDict doctest for Python 3.12 and later - #74

Open
carlitogwapito wants to merge 1 commit into
fluentpython:masterfrom
carlitogwapito:codex/docs-userdict-get-version
Open

carlitogwapito wants to merge 1 commit into
fluentpython:masterfrom
carlitogwapito:codex/docs-userdict-get-version

Conversation

@carlitogwapito

Copy link
Copy Markdown

Fixes #73.

UserDict.get() changed in Python 3.12, so the example's expected result now depends on the Python version. This adds a short explanation and checks the matching result in the doctest. All imports, classes and methods outside the module docstring are unchanged.

Checked the module's 22 doctest examples with the standard-library doctest runner on Python 3.12.0 and 3.14.4: all pass. The original example has one failure out of 20 on 3.14.4, at ud.get('a', '').

Python 3.11 wasn't run locally. Its older behavior was checked against the CPython 3.11 implementation and Mapping.get, alongside the 3.12 implementation. This doesn't change the separate missing-key recursion behavior.

Thanks for flagging the version difference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Chapter 3] missing.py doctest failure after python 3.12 (UserDict)

1 participant