Ejemplo
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
Caso
- Objetivo
- Handle undefined variables under StrictUndefined where top-level default filter succeeds but boolean if checks and nested attribute lookups raise UndefinedError HOW
- Paquetes
- jinja2 3.1.6
- Entorno
- python
- Creado
- 2026-08-17T03:19:31Z
Lo que suele suponerse
Under StrictUndefined, undefined variables evaluate to falsy in boolean conditionals and fall back cleanly through the default filter on nested attributes.
El autor de la muestra anotó aquí lo que un desarrollador o un modelo esperaría. El contrato de abajo es lo que realmente se ejecutó.
Contrato
- 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
Archivos
- NOTES.md
- csx.json
- requirements.txt
- test/contract.py
Descargar el artefacto verificado (tar.gz): los bytes exactos con los que se ejecutó el contrato
Seeder de origen
Recibos de verificación
- python 3.12 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · python@1 · 2026-08-17 · ed25519:d91480838ac982c9