History

parse_cf_email.rb: fix URI.unescape is obsolete

Simon Legner committed 5 years ago

Commit fbfa9de1 parent f5eb47f2 files · +18 −1Browse files

Unified · Split

2 files
  1. lib/docs/filters/core/parse_cf_email.rb +1 −1
  2. test/lib/docs/filters/core/parse_cf_email_test.rb +17 −0
lib/docs/filters/core/parse_cf_email.rb+1−1
@@ -12,7 +12,7 @@ module Docs · 11 unmodified lines
12 result += "%" + "0#{("0x#{slice.join}".hex ^ mask).to_s(16)}"[-2..-1]12 result += "%" + "0#{("0x#{slice.join}".hex ^ mask).to_s(16)}"[-2..-1]
13 end13 end
14 14
15 node.replace(URI.decode(result))15 node.replace(URI.decode_www_form_component(result))
16 end16 end
17 17
18 doc18 doc
test/lib/docs/filters/core/parse_cf_email_test.rb+17−0
@@ -0,0 +1,17 @@
1require 'test_helper'
2require 'docs'
3
4class ParseCfEmailFilterTest < MiniTest::Spec
5 include FilterTestHelper
6 self.filter_class = Docs::ParseCfEmailFilter
7
8 before do
9 context[:url] = 'http://example.com/dir/file'
10 end
11
12 it 'rewrites parses CloudFlare mail addresses' do
13 href = 'b3dddad0d6d2ddd7c0dadec3dfd6f3d6cbd2dec3dfd69dd0dcde'
14 @body = %(<a class="__cf_email__" data-cfemail="#{href}">Link</a>)
15 assert_equal 'niceandsimple@example.com', filter_output_string
16 end
17end