-
-
Notifications
You must be signed in to change notification settings - Fork 19
-
-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debride blows up with Racc::ParseError after upgrade to ruby 2.2.3 #22
Comments
Interesting! uhh... does ERB even need to play a part? Can you reduce this? |
Good point, I'm not sure. That was just where the failure had happened. |
If I move the code in the |
def test_process_erb_bug
# :
# <%= link_to '1 day ago', :days => 1 %>
# _buf = ''
# _buf << ':\n'
# @output_buffer.append=( link_to '1 day ago', :days => 1 )
# _buf << '\n'
# _buf.to_s
sexp = Debride.new.process_erb "test/bug.erb"
exp = s(:block,
s(:lasgn, :_buf, s(:str, "")),
s(:call, s(:lvar, :_buf), :<<, s(:str, ":\n")),
s(:attrasgn, s(:ivar, :@output_buffer), :append=,
s(:call, nil, :link_to,
s(:str, "1 day ago"), s(:hash, s(:lit, :days), s(:lit, 1)))),
s(:call, s(:lvar, :_buf), :<<, s(:str, "\n")),
s(:call, s(:lvar, :_buf), :to_s))
assert_equal exp, sexp
end this passes on ruby 2.0 and 2.2.2. Do you really think it is specific to ruby 2.2.3?? |
It doesn't appear to be specific to 2.2.3. If I do a Here are the ruby versions I tried:
|
Here is my test script and output in case I'm doing something stupid: https://gist.github.com/phiggins/8edab52615f622bb4d56 |
I'm fucking stumped by this stupid bug. I can reproduce it via top-level running, but not via tests. The code is all the same. The entry points look fine. But no boom. WTF. |
This was a bitch to fix. Done. |
Yay! 🎉 |
We just upgrade a rails app to use ruby 2.2.3 from 2.1.6, and I'm getting an exception parsing some ERB. Here's a minimal case I came up with:
Here's my debride versions:
The text was updated successfully, but these errors were encountered: