Skip to content

Commit bc4854f

Browse files
committed
don't escape " in HTML
1 parent 94ced62 commit bc4854f

File tree

5 files changed

+11
-12
lines changed

5 files changed

+11
-12
lines changed

lib/coderay/encoders/html.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ class HTML < Encoder
129129
def self.make_html_escape_hash
130130
{
131131
'&' => '&amp;',
132-
'"' => '&quot;',
133132
'>' => '&gt;',
134133
'<' => '&lt;',
135134
"\t" => ' ' * DEFAULT_OPTIONS[:tab_width],
@@ -140,7 +139,7 @@ def self.make_html_escape_hash
140139
end
141140

142141
HTML_ESCAPE = make_html_escape_hash
143-
HTML_ESCAPE_PATTERN = /[\t"&><\0-\x8\xB-\x1F]/
142+
HTML_ESCAPE_PATTERN = /[\t&><\0-\x8\xB-\x1F]/
144143

145144
TOKEN_KIND_TO_INFO = Hash.new do |h, kind|
146145
h[kind] = kind.to_s.gsub(/_/, ' ').gsub(/\b\w/) { $&.capitalize }

test/functional/basic.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ def test_simple_scan
4646
end
4747
end
4848

49-
RUBY_TEST_HTML = 'puts <span class="string"><span class="delimiter">&quot;</span>' +
50-
'<span class="content">Hello, World!</span><span class="delimiter">&quot;</span></span>'
49+
RUBY_TEST_HTML = 'puts <span class="string"><span class="delimiter">"</span>' +
50+
'<span class="content">Hello, World!</span><span class="delimiter">"</span></span>'
5151
def test_simple_highlight
5252
assert_nothing_raised do
5353
assert_equal RUBY_TEST_HTML, CodeRay.scan(RUBY_TEST_CODE, :ruby).html

test/functional/examples.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def test_examples
1010
div = CodeRay.scan('puts "Hello, world!"', :ruby).div
1111
assert_equal <<-DIV, div
1212
<div class="CodeRay">
13-
<div class="code"><pre>puts <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">&quot;</span><span style="color:#D20">Hello, world!</span><span style="color:#710">&quot;</span></span></pre></div>
13+
<div class="code"><pre>puts <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">"</span><span style="color:#D20">Hello, world!</span><span style="color:#710">"</span></span></pre></div>
1414
</div>
1515
DIV
1616

@@ -40,7 +40,7 @@ def test_examples
4040
<table class="CodeRay"><tr>
4141
<td class="line-numbers"><pre><a href="#n1" name="n1">1</a>
4242
</pre></td>
43-
<td class="code"><pre>puts <span class="string"><span class="delimiter">&quot;</span><span class="content">Hello, world!</span><span class="delimiter">&quot;</span></span></pre></td>
43+
<td class="code"><pre>puts <span class="string"><span class="delimiter">"</span><span class="content">Hello, world!</span><span class="delimiter">"</span></span></pre></td>
4444
</tr></table>
4545
4646
</body>
@@ -92,7 +92,7 @@ def test_examples
9292
div = tokens.div(:css => :class)
9393
assert_equal <<-DIV, div
9494
<div class="CodeRay">
95-
<div class="code"><pre>{ <span class="key"><span class="delimiter">&quot;</span><span class="content">just</span><span class="delimiter">&quot;</span></span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">an</span><span class="delimiter">&quot;</span></span>, <span class="key"><span class="delimiter">&quot;</span><span class="content">example</span><span class="delimiter">&quot;</span></span>: <span class="integer">42</span> }</pre></div>
95+
<div class="code"><pre>{ <span class="key"><span class="delimiter">"</span><span class="content">just</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">an</span><span class="delimiter">"</span></span>, <span class="key"><span class="delimiter">"</span><span class="content">example</span><span class="delimiter">"</span></span>: <span class="integer">42</span> }</pre></div>
9696
</div>
9797
DIV
9898

@@ -121,7 +121,7 @@ def test_examples
121121
div = ruby_highlighter.encode('puts "Hello, world!"')
122122
assert_equal <<-DIV, div
123123
<div class="CodeRay">
124-
<div class="code"><pre>puts <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">&quot;</span><span style="color:#D20">Hello, world!</span><span style="color:#710">&quot;</span></span></pre></div>
124+
<div class="code"><pre>puts <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">"</span><span style="color:#D20">Hello, world!</span><span style="color:#710">"</span></span></pre></div>
125125
</div>
126126
DIV
127127
end

test/functional/for_redcloth.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ class BasicTest < Test::Unit::TestCase
1616

1717
def test_for_redcloth
1818
require 'coderay/for_redcloth'
19-
assert_equal "<p><span lang=\"ruby\" class=\"CodeRay\">puts <span style=\"background-color:hsla(0,100%,50%,0.05)\"><span style=\"color:#710\">&quot;</span><span style=\"color:#D20\">Hello, World!</span><span style=\"color:#710\">&quot;</span></span></span></p>",
19+
assert_equal "<p><span lang=\"ruby\" class=\"CodeRay\">puts <span style=\"background-color:hsla(0,100%,50%,0.05)\"><span style=\"color:#710\">\"</span><span style=\"color:#D20\">Hello, World!</span><span style=\"color:#710\">\"</span></span></span></p>",
2020
RedCloth.new('@[ruby]puts "Hello, World!"@').to_html
2121
assert_equal <<-BLOCKCODE.chomp,
2222
<div lang="ruby" class="CodeRay">
23-
<div class="code"><pre>puts <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">&quot;</span><span style="color:#D20">Hello, World!</span><span style="color:#710">&quot;</span></span></pre></div>
23+
<div class="code"><pre>puts <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">"</span><span style="color:#D20">Hello, World!</span><span style="color:#710">"</span></span></pre></div>
2424
</div>
2525
BLOCKCODE
2626
RedCloth.new('bc[ruby]. puts "Hello, World!"').to_html

test/unit/html.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def test_break_lines_option
6060
* used to test the
6161
*/</span>
6262
<span class=\"directive\">public</span> <span class=\"type\">class</span> <span class=\"class\">Test</span> {
63-
<span class=\"directive\">public</span> <span class=\"directive\">static</span> <span class=\"directive\">final</span> <span class=\"predefined-type\">String</span> MESSAGE = <span class=\"string\"><span class=\"delimiter\">&quot;</span><span class=\"content\">My message To the world</span><span class=\"delimiter\">&quot;</span></span>;
63+
<span class=\"directive\">public</span> <span class=\"directive\">static</span> <span class=\"directive\">final</span> <span class=\"predefined-type\">String</span> MESSAGE = <span class=\"string\"><span class=\"delimiter\">\"</span><span class=\"content\">My message To the world</span><span class=\"delimiter\">\"</span></span>;
6464
6565
<span class=\"directive\">static</span> <span class=\"type\">void</span> main() {
6666
<span class=\"comment\">/*
@@ -80,7 +80,7 @@ def test_break_lines_option
8080
<span class=\"comment\"> * used to test the</span>
8181
<span class=\"comment\"> */</span>
8282
<span class=\"directive\">public</span> <span class=\"type\">class</span> <span class=\"class\">Test</span> {
83-
<span class=\"directive\">public</span> <span class=\"directive\">static</span> <span class=\"directive\">final</span> <span class=\"predefined-type\">String</span> MESSAGE = <span class=\"string\"><span class=\"delimiter\">&quot;</span><span class=\"content\">My message To the world</span><span class=\"delimiter\">&quot;</span></span>;
83+
<span class=\"directive\">public</span> <span class=\"directive\">static</span> <span class=\"directive\">final</span> <span class=\"predefined-type\">String</span> MESSAGE = <span class=\"string\"><span class=\"delimiter\">\"</span><span class=\"content\">My message To the world</span><span class=\"delimiter\">\"</span></span>;
8484
8585
<span class=\"directive\">static</span> <span class=\"type\">void</span> main() {
8686
<span class=\"comment\">/*</span>

0 commit comments

Comments
 (0)