diff options
-rw-r--r-- | parse.y | 2 | ||||
-rw-r--r-- | test/ripper/test_sexp.rb | 8 |
2 files changed, 9 insertions, 1 deletions
@@ -3796,7 +3796,7 @@ sym : fname | tCVAR ; -dsym : tSYMBEG xstring_contents tSTRING_END +dsym : tSYMBEG string_contents tSTRING_END { SET_LEX_STATE(EXPR_END); /*%%%*/ diff --git a/test/ripper/test_sexp.rb b/test/ripper/test_sexp.rb index 064c0f1536..d63464d5a7 100644 --- a/test/ripper/test_sexp.rb +++ b/test/ripper/test_sexp.rb @@ -132,4 +132,12 @@ eot end end end + + def test_dsym + bug15670 = '[ruby-core:91852]' + _, (_, _, s) = Ripper.sexp_raw(%q{:"sym"}) + assert_equal([:dyna_symbol, [:string_add, [:string_content], [:@tstring_content, "sym", [1, 2]]]], + s, + bug15670) + end end if ripper_test |