Inconsistent expression evaluation for nested expressions
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
Direzione di ricerca
Inizia in src/main/java/com/hubspot/jinjava/el/ext/ExtendedParser.java intorno alle righe 305-316 e riproduci le quattro espressioni dell’issue. Confronta il parsing del letterale di lista all’interno dell’espressione annidata con il parsing tramite la variabile categories. Il lavoro è completato quando la negazione produce lo stesso risultato atteso in entrambe le forme.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Java
- Stelle
- 787
- Fork
- 184
- Merge medio
- 6g 22h
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di HubSpot/jinjava
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
-
Upgrade jsoupAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 82/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
Tutte le issue di HubSpot/jinjava
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
liquid-java/liquidjava#321 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
rename config parameterAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
OpenConext/OpenConext-access#1015 ·
I maintainer di solito rispondono entro 1 giorno
-
68000: FDBcc branch target is 2 bytes too low (uses inst_start+2 instead of the displacement word)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
NationalSecurityAgency/ghidra#9702 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
apache/rocketmq-dashboard#5358 ·
I maintainer di solito rispondono entro 3 giorni