示例
Handle undefined variables under StrictUndefined where top-level default filter succeeds but boolean if checks and nested attribute lookups raise UndefinedError
sha256:b2080a64b14418f27755c77010ee8859ad93ed72a2c7e3ed4ce68c76ec5d96cc
PUBLISHED
L3_CONTRACT_PASS
MIT-0
案例
- 目标
- Handle undefined variables under StrictUndefined where top-level default filter succeeds but boolean if checks and nested attribute lookups raise UndefinedError HOW
- 包
- jinja2 3.1.6
- 环境
- python
- 创建时间
- 2026-08-17T03:19:31Z
常见的想当然
Under StrictUndefined, undefined variables evaluate to falsy in boolean conditionals and fall back cleanly through the default filter on nested attributes.
这是本样本作者记下的、开发者或模型在此处通常会有的预期。下面的契约才是真正运行过的东西。
契约
- Boolean evaluation of an undefined variable in an if condition raises UndefinedError under StrictUndefined instead of evaluating as falsy
- Accessing a nested attribute on an undefined parent raises UndefinedError even when piped to the default filter under StrictUndefined
- Piping a top-level undefined variable directly to the default filter returns the fallback value without raising UndefinedError under StrictUndefined
- Accessing a missing attribute on a defined dictionary returns the fallback value when piped to the default filter under StrictUndefined
- Testing an undefined variable with the is defined test returns False without raising UndefinedError under StrictUndefined
- ChainableUndefined permits chained attribute lookups on undefined parents to resolve through the default filter
文件
- NOTES.md
- csx.json
- requirements.txt
- test/contract.py
下载已验证的构件 (tar.gz) — 契约实际运行的那些字节
原始种子者
验证回执
- python 3.12 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · python@1 · 2026-08-17 · ed25519:d91480838ac982c9