Different behavior when parsing tabs in between JRuby and MRI Ruby versions
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Reproduce la discrepancia con Psych.load("location:\tCalifornia") en MRI Ruby y JRuby; después, inspecciona psych.rb y la ruta org/jruby/ext/psych/PsychParser.java que aparece en el trace. Compara el comportamiento del parser y añade una prueba de regresión que demuestre el resultado esperado en ambos runtimes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
In certain cases, MRI Ruby Psych and JRuby Psych will return different results for the same string, even if both of them are in the same version. For example, this happens when parsing in MRI Ruby:
Psych.load("location:\tCalifornia")
irb(main):002:0> Psych.load("location:\tCalifornia")
=> {"location"=>"California"}
Meanwhile, JRuby throws an exception:
irb(main):008:0> Psych.load("location:\tCalifornia")
Traceback (most recent call last):
10: from /Users/cplanas/.rbenv/versions/jruby-9.2.9.0/bin/irb:13:in `<main>'
9: from org/jruby/RubyKernel.java:1193:in `catch'
8: from org/jruby/RubyKernel.java:1193:in `catch'
7: from org/jruby/RubyKernel.java:1446:in `loop'
6: from org/jruby/RubyKernel.java:1052:in `eval'
5: from (irb):8:in `evaluate'
4: from /Users/cplanas/.rbenv/versions/jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.2.0-java/lib/psych.rb:277:in `load'
3: from /Users/cplanas/.rbenv/versions/jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.2.0-java/lib/psych.rb:388:in `parse'
2: from /Users/cplanas/.rbenv/versions/jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.2.0-java/lib/psych.rb:454:in `parse_stream'
1: from org/jruby/ext/psych/PsychParser.java:246:in `parse'
Psych::SyntaxError ((<unknown>): found character '\t(TAB)' that cannot start any token. (Do not use \t(TAB) for indentation) while scanning for the next token at line 1 column 10)
I tested this in version3.2.0.
- Lenguaje dominante
- Ruby
- Estrellas
- 597
- Forks
- 223
- Merge medio
- 6 h 8 min
- PR fusionados (30 d)
- 2
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 ruby/psych
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
Psych.dump raises Encoding::CompatibilityError for UTF-16/UTF-32 stringsPosiblemente ocupada @Halvanhelv la tomó hace 27 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Todos los issues de ruby/psych
Issues similares
-
[bug]: Sticky Streak DisappearedAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Použiť Redis pre ActionCableAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
slovensko-digital/autogram-portal#392 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
voxpupuli/puppet-quadlets#122 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
TheOdinProject/curriculum#31452 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100