Different behavior when parsing tabs in between JRuby and MRI Ruby versions
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Reproduza a discrepância com Psych.load("location:\tCalifornia") no MRI Ruby e no JRuby e, em seguida, inspecione psych.rb e o caminho org/jruby/ext/psych/PsychParser.java mostrado no trace. Compare o comportamento do parser e adicione um teste de regressão demonstrando o resultado esperado nos dois runtimes.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Ruby
- Estrelas
- 596
- Forks
- 224
- Merge médio
- 8h 38min
- PRs com merge (30d)
- 2
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ruby/psych
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Documentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
-
Psych.dump raises Encoding::CompatibilityError for UTF-16/UTF-32 stringsTalvez já em andamento @Halvanhelv assumiu há 57 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 55/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 68/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
Issues semelhantes
-
internal product:ai-gateway size: S
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
Kong/developer.konghq.com#7931 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
rails/rails-dom-testing#136 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
nesquena/steward-os#79 ·
Mantenedores costumam responder em até 1 dia
-
area/tech debt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
simp/pupmod-simp-sudo#166 ·
Mantenedores costumam responder em até 1 dia