@@ -469,6 +469,66 @@ def test_accept_verbatim_pipe
469469 assert_equal expected , @to . res . join
470470 end
471471
472+ def test_accept_verbatim_escape_in_string
473+ code = <<-'RUBY'
474+ def foo
475+ [
476+ '\\',
477+ '\'',
478+ "'",
479+ "\'\"\`",
480+ "\#",
481+ "\#{}",
482+ "#",
483+ "#{}",
484+ /'"/,
485+ /\'\"/,
486+ /\//,
487+ /\\/,
488+ /\#/,
489+ /\#{}/,
490+ /#/,
491+ /#{}/
492+ ]
493+ end
494+ def bar
495+ end
496+ RUBY
497+ verb = @RM ::Verbatim . new ( *code . split ( /(?<=\n )/ ) )
498+
499+ @to . start_accepting
500+ @to . accept_verbatim verb
501+
502+ expected = <<-'EXPECTED'
503+
504+ <pre class="ruby"><span class="ruby-keyword">def</span> <span class="ruby-identifier">foo</span>
505+ [
506+ <span class="ruby-string">'\\'</span>,
507+ <span class="ruby-string">'\''</span>,
508+ <span class="ruby-string">"'"</span>,
509+ <span class="ruby-string">"\'\"\`"</span>,
510+ <span class="ruby-string">"\#"</span>,
511+ <span class="ruby-string">"\#{}"</span>,
512+ <span class="ruby-string">"#"</span>,
513+ <span class="ruby-node">"#{}"</span>,
514+ <span class="ruby-regexp">/'"/</span>,
515+ <span class="ruby-regexp">/\'\"/</span>,
516+ <span class="ruby-regexp">/\//</span>,
517+ <span class="ruby-regexp">/\\/</span>,
518+ <span class="ruby-regexp">/\#/</span>,
519+ <span class="ruby-regexp">/\#{}/</span>,
520+ <span class="ruby-regexp">/#/</span>,
521+ <span class="ruby-regexp">/#{}/</span>
522+ ]
523+ <span class="ruby-keyword">end</span>
524+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">bar</span>
525+ <span class="ruby-keyword">end</span>
526+ </pre>
527+ EXPECTED
528+
529+ assert_equal expected , @to . res . join
530+ end
531+
472532 def test_accept_verbatim_ruby
473533 verb = @RM ::Verbatim . new ( "1 + 1\n " )
474534 verb . format = :ruby
0 commit comments