diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-08-15 01:33:31 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-08-15 11:40:06 +0900 |
commit | 2aa6826e81ec880f5e98fa995e44fae0819be95d (patch) | |
tree | 4b01025821aab8272edeb54d6c7968bb7655bdac | |
parent | 4568ba071107a139b9f02fc17aa12f998181abf1 (diff) |
Extract the wrapped value when yydebug [Bug #18075]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4742
-rw-r--r-- | parse.y | 2 | ||||
-rw-r--r-- | test/ripper/test_ripper.rb | 9 |
2 files changed, 10 insertions, 1 deletions
@@ -10791,7 +10791,7 @@ parser_token_value_print(struct parser_params *p, enum yytokentype type, const Y #ifndef RIPPER v = valp->node->nd_lit; #else - v = valp->val; + v = get_value(valp->val); #endif rb_parser_printf(p, "%+"PRIsVALUE, v); break; diff --git a/test/ripper/test_ripper.rb b/test/ripper/test_ripper.rb index ab841b7616..76276c54ef 100644 --- a/test/ripper/test_ripper.rb +++ b/test/ripper/test_ripper.rb @@ -75,6 +75,15 @@ class TestRipper::Ripper < Test::Unit::TestCase assert_include out.string[/.*"local variable or method".*/], 'test_xxxx' end + def test_yydebug_string + out = StringIO.new + ripper = Ripper.new '"woot"' + ripper.yydebug = true + ripper.debug_output = out + ripper.parse + assert_include out.string[/.*"literal content".*/], 'woot' + end + def test_regexp_with_option bug11932 = '[ruby-core:72638] [Bug #11932]' src = '/[\xC0-\xF0]/u'.dup.force_encoding(Encoding::UTF_8) |