Unified · Split
| @@ -12,7 +12,7 @@ module Docs · 11 unmodified lines | ||
| 12 | 12 | result += "%" + "0#{("0x#{slice.join}".hex ^ mask).to_s(16)}"[-2..-1] |
| 13 | 13 | end |
| 14 | 14 | |
| 15 | − node.replace(URI.decode(result)) | |
| 15 | + node.replace(URI.decode_www_form_component(result)) | |
| 16 | 16 | end |
| 17 | 17 | |
| 18 | 18 | doc |
| @@ -0,0 +1,17 @@ | ||
| 1 | +require 'test_helper' | |
| 2 | +require 'docs' | |
| 3 | + | |
| 4 | +class 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 | |
| 17 | +end | |