Fix AntiforgeryMiddlewareTest for non-US date formats #55779
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix AntiforgeryMiddlewareTest for non-US date formats
Fix tests failing with HTTP 400 if machine uses a non-US date format.
Description
Use
CultureInfo.CurrentCulture
to match MVC's defaultDateTime
binding behaviour to fix tests when running on a machine that doesn't use invariant/en-US date formatting, such as en-GB.Otherwise the line below throws when binding the posted form as the format is invariant but MVC tries to bind it with the current culture.
aspnetcore/src/Mvc/Mvc.Core/src/ModelBinding/Binders/DateTimeModelBinder.cs
Line 67 in dad78b3
I figured this was the simpler change than reconfiguring MVC in all the tests to use invariant binding by default.
See #55595 (comment).