Defect #36958 ยป 36958.patch
| lib/redmine/wiki_formatting/common_mark/external_links_filter.rb | ||
|---|---|---|
| 31 | 31 |
next unless url |
| 32 | 32 |
next if url.starts_with?("/") || url.starts_with?("#") || !url.include?(':')
|
| 33 | 33 | |
| 34 |
scheme = URI.parse(url).scheme |
|
| 34 |
begin |
|
| 35 |
scheme = URI.parse(url).scheme |
|
| 36 |
rescue URI::InvalidURIError |
|
| 37 |
scheme = nil |
|
| 38 |
end |
|
| 35 | 39 |
next if scheme.blank? |
| 36 | 40 | |
| 37 | 41 |
klass = node["class"].presence |
| test/unit/lib/redmine/wiki_formatting/common_mark/external_links_filter_test.rb | ||
|---|---|---|
| 44 | 44 |
def test_mailto_links_should_have_email_class |
| 45 | 45 |
assert_equal %(<a href="mailto:user@example.org" class="email">user</a>), filter(%(<a href="mailto:user@example.org">user</a>)) |
| 46 | 46 |
end |
| 47 | ||
| 48 |
def test_malformed_uri_should_not_cause_exception |
|
| 49 |
assert_nothing_raised do |
|
| 50 |
filter(%(<a href="http://example.com/foo#bar#">Malformed URI</a>)) |
|
| 51 |
end |
|
| 52 |
end |
|
| 47 | 53 |
end |
| 48 | 54 |
end |