Skip to content

Commit df99bc4

Browse files
authored
Merge pull request #797 from gjtorikian/multiple-mailtos
Support multiple email addresses in `mailto`
2 parents bcc4bac + ad73180 commit df99bc4

File tree

7 files changed

+19
-7
lines changed

7 files changed

+19
-7
lines changed

Rakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ task :proof_readme do
2323
require "html-proofer"
2424
require "redcarpet"
2525

26-
renderer = Redcarpet::Render::HTML.new(\
26+
renderer = Redcarpet::Render::HTML.new(
2727
with_toc_data: true,
2828
)
2929
redcarpet = Redcarpet::Markdown.new(renderer)

lib/html_proofer/check/links.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ def handle_mailto
9696
"#{@link.url.raw_attribute} contains no email address",
9797
element: @link,
9898
) unless ignore_empty_mailto?
99-
elsif !/#{URI::MailTo::EMAIL_REGEXP}/o.match?(@link.url.path)
99+
# eg., if any do not match a valid URL
100+
elsif @link.url.path.split(",").any? { |email| !/#{URI::MailTo::EMAIL_REGEXP}/o.match?(email) }
100101
add_failure(
101102
"#{@link.url.raw_attribute} contains an invalid email address",
102103
element: @link,

lib/html_proofer/log.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class Log
1212

1313
def initialize(log_level)
1414
@logger = Yell.new(
15-
format: false, \
15+
format: false,
1616
name: "HTMLProofer", \
1717
level: "gte.#{log_level}",
1818
) do |l|
@@ -41,7 +41,7 @@ def colorize(level, message)
4141
:red
4242
end
4343

44-
if (STDOUT_LEVELS.include?(level) && $stdout.isatty) || \
44+
if (STDOUT_LEVELS.include?(level) && $stdout.isatty) ||
4545
(STDERR_LEVELS.include?(level) && $stderr.isatty)
4646
Rainbow(message).send(color)
4747
else

lib/html_proofer/reporter.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ def initialize(logger: nil)
1111
end
1212

1313
def failures=(failures)
14-
@failures = failures.group_by(&:check_name) \
15-
.transform_values { |issues| issues.sort_by { |issue| [issue.path, issue.line] } } \
14+
@failures = failures.group_by(&:check_name)
15+
.transform_values { |issues| issues.sort_by { |issue| [issue.path, issue.line] } }
1616
.sort
1717
end
1818

lib/html_proofer/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module HTMLProofer
4-
VERSION = "5.0.6"
4+
VERSION = "5.0.7"
55
end
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<html>
2+
<body>
3+
4+
</body>
5+
</html>

spec/html-proofer/links_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,12 @@
246246
expect(proofer.failed_checks).to(eq([]))
247247
end
248248

249+
it "accepts multiple mailto links" do
250+
ignorable_links = File.join(FIXTURES_DIR, "links", "multiple_mailto_links.html")
251+
proofer = run_proofer(ignorable_links, :file)
252+
expect(proofer.failed_checks).to(eq([]))
253+
end
254+
249255
it "ignores blank mailto links when configured to allow them" do
250256
blank_mail_to_link = File.join(FIXTURES_DIR, "links", "blank_mailto_link.html")
251257
proofer = run_proofer(blank_mail_to_link, :file, ignore_empty_mailto: true)

0 commit comments

Comments
 (0)