Inconsistent expression evaluation for nested expressions
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
Línea de trabajo
Comienza en src/main/java/com/hubspot/jinjava/el/ext/ExtendedParser.java alrededor de las líneas 305-316 y reproduce las cuatro expresiones del issue. Compara el análisis sintáctico del literal de lista dentro de la expresión anidada con el análisis sintáctico a través de la variable categories. Se considera terminado cuando la negación produce el mismo resultado esperado en ambas formas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Consider following case:
{{ "c" in ["a", "b"] }} // outputs false
{{ !("c" in ["a", "b"]) }} // also outputs false
{% set categories = ["a", "b"] %}
{{ "c" in categories }} // outputs false
{{ !("c" in categories) }} // correctly outputs true
I'd expect expression evaluation to behave the same both for versions - with or without variables used, but it does not.
I've tracked this down to what i believe is a bug in parser https://github.com/HubSpot/jinjava/blob/43bbea7e772a961316f575f26297f198eb3c655a/src/main/java/com/hubspot/jinjava/el/ext/ExtendedParser.java#L305-L316
If there is a coma between ( and ) token parser will interpret it as a tuple declaration and otherwise as nested expression. However this seems incorrect in the above case as I am not trying to declare a tuple, just using a list literal in nested comparison
- Lenguaje dominante
- Java
- Estrellas
- 787
- Forks
- 184
- Merge medio
- 6 d 22 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de HubSpot/jinjava
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
Upgrade jsoupAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 82/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
Todos los issues de HubSpot/jinjava
Issues similares
-
waiting-for-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
spring-cloud/spring-cloud-openfeign#1443 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
ADORSYS-GIS/keycloak-oid4vp-plugin#221 ·
Los mantenedores suelen responder en 2 días
-
Upgrade to Spring Pulsar 2.0.8Abiertostatus: team-only type: dependency-upgrade
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
spring-projects/spring-boot#52099 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
tchiotludo/akhq#3307 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
objectionary/jeo-maven-plugin#1885 ·
Los mantenedores suelen responder en 4 días