`~` stringifies maps with Java Map.toString() instead of Python dict repr
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 82/100
Direzione di ricerca
Start with src/main/java/com/hubspot/jinjava/el/ext/StringConcatOperator.java and trace the converter.convert calls used for concatenation. Reproduce the map case from the issue, then check the existing direct map and list rendering behavior. Done means ~ renders maps with the Python-style representation while the documented direct and list outputs remain unchanged.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
~ converts each operand with JUEL's string converter, which falls back to Object.toString() for maps. A Jinjava map renders as {g=v}; Jinja2 renders the Python dict repr {'g': 'v'}.
Affected: master df50b0d7. Releases 2.7.6, 2.8.3 and 2.8.4 behave the same.
Reproduction
{{ {'g':'v'} ~ length }}
Jinja2 renders {'g': 'v'}. Jinjava renders {g=v}.
Direct output agrees between the engines: {{ {'g':'v'} }} renders {'g': 'v'} in both. A list operand also agrees ([1, 2]), so the difference is specific to map stringification through the concat path.
Root cause
StringConcatOperator.apply converts both operands with converter.convert(o, String.class) (src/main/java/com/hubspot/jinjava/el/ext/StringConcatOperator.java). The converter has no Python-style representation for maps, so the map's toString() value is used.
- 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 76/100
-
Jinjava 3.0Forse di nuovo libera @jasmith-hs l’ha presa 212 giorni fa e non c’è nessuna pull request aperta. Aperta
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