Skip to content

Make \Illuminate\Testing\TestResponse::assertHeader() case insensitive#58383

Merged
taylorotwell merged 1 commit intolaravel:12.xfrom
HenkPoley:patch-8
Jan 15, 2026
Merged

Make \Illuminate\Testing\TestResponse::assertHeader() case insensitive#58383
taylorotwell merged 1 commit intolaravel:12.xfrom
HenkPoley:patch-8

Conversation

@HenkPoley
Copy link
Contributor

I bumped into a PhpUnit error today when asserting the response has the correct header:

$response->assertHeader('content-type', 'text/html; charset=UTF-8');

PhpUnit error:

Header [content-type] was found, but value [text/html; charset=utf-8] does not match [text/html; charset=UTF-8].
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'text/html; charset=UTF-8'
+'text/html; charset=utf-8'

[..paths omitted..]

It might be that redirect('/some/path') fairly recently changed from UTF-8 to utf-8 due to HPACK/QPACK normalisation rules. But it broke some of my tests.

In principle these HTTP headers are case-insensitive, so this change to \Illuminate\Testing\TestResponse::assertHeader() makes sense.

Let me know if you agree, or you want it fixed in another way.

I bumped into a PhpUnit error today when asserting the response has the correct header:

```php
$response->assertHeader('content-type', 'text/html; charset=UTF-8');
```

PhpUnit error:

```
Header [content-type] was found, but value [text/html; charset=utf-8] does not match [text/html; charset=UTF-8].
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'text/html; charset=UTF-8'
+'text/html; charset=utf-8'

[..paths omitted..]
```

It might be that `redirect('/some/path')` fairly recently changed from UTF-8 to utf-8 due to HPACK/QPACK normalisation rules. But it broke some of my tests.

In principle these HTTP headers are case-insensitive, so this change to `\Illuminate\Testing\TestResponse::assertHeader()` makes sense.

Let me know if you agree, or you want it fixed in another way.
@taylorotwell taylorotwell merged commit 835e80d into laravel:12.x Jan 15, 2026
72 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments