From 1c698348a21d0492bff362b2207f4802edb79229 Mon Sep 17 00:00:00 2001 From: Maxime Rainville Date: Thu, 9 Sep 2021 19:23:37 +1200 Subject: [PATCH] BUG When asserting an email was sent, sanitise both the To and From field --- src/Dev/TestMailer.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Dev/TestMailer.php b/src/Dev/TestMailer.php index 8c949e296..3d37b0ded 100644 --- a/src/Dev/TestMailer.php +++ b/src/Dev/TestMailer.php @@ -103,17 +103,18 @@ class TestMailer implements Mailer foreach ($this->emailsSent as $email) { $matched = true; - foreach (['To', 'From', 'Subject', 'Content'] as $field) { + // Loop all our Email fields + foreach ($compare as $field => $value) { $emailValue = $email[$field]; - if ($value = $compare[$field]) { - if ($field == 'To') { + if ($value) { + if (in_array($field, ['To', 'From'])) { $emailValue = $this->normaliseSpaces($emailValue); $value = $this->normaliseSpaces($value); } - if ($value[0] == '/') { + if ($value[0] === '/') { $matched = preg_match($value, $emailValue); } else { - $matched = ($value == $emailValue); + $matched = ($value === $emailValue); } if (!$matched) { break;