From 85ff77ef3962bdeae50433796a5cda78bd9be5d5 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Wed, 22 Apr 2026 11:05:13 +0200 Subject: [PATCH 1/2] Add Video sub-class to MediaTypeNames with common video MIME types Add MediaTypeNames.Video with five commonly-used video container format constants: Mp4, Mpeg, Ogg, QuickTime, and WebM. These are the most widely used video MIME types in web applications and are already mapped in MediaTypeMap. Codec-specific types (H264, VP8, etc.) are excluded as they are rarely used as HTTP Content-Type headers. Fixes #124392 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../System.Net.Mail/ref/System.Net.Mail.cs | 8 +++++++ .../src/System/Net/Mime/MediaTypeNames.cs | 19 +++++++++++++++++ .../tests/Unit/MediaTypeNamesVideoTest.cs | 21 +++++++++++++++++++ .../Unit/System.Net.Mail.Unit.Tests.csproj | 1 + 4 files changed, 49 insertions(+) create mode 100644 src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs diff --git a/src/libraries/System.Net.Mail/ref/System.Net.Mail.cs b/src/libraries/System.Net.Mail/ref/System.Net.Mail.cs index 04de1380ed0b28..66a663d05940de 100644 --- a/src/libraries/System.Net.Mail/ref/System.Net.Mail.cs +++ b/src/libraries/System.Net.Mail/ref/System.Net.Mail.cs @@ -384,6 +384,14 @@ public static partial class Text public const string Rtf = "text/rtf"; public const string Xml = "text/xml"; } + public static partial class Video + { + public const string Mp4 = "video/mp4"; + public const string Mpeg = "video/mpeg"; + public const string Ogg = "video/ogg"; + public const string QuickTime = "video/quicktime"; + public const string WebM = "video/webm"; + } } public static partial class MediaTypeMap { diff --git a/src/libraries/System.Net.Mail/src/System/Net/Mime/MediaTypeNames.cs b/src/libraries/System.Net.Mail/src/System/Net/Mime/MediaTypeNames.cs index d94769c60b4ac1..ffdc4e7deeefc7 100644 --- a/src/libraries/System.Net.Mail/src/System/Net/Mime/MediaTypeNames.cs +++ b/src/libraries/System.Net.Mail/src/System/Net/Mime/MediaTypeNames.cs @@ -165,5 +165,24 @@ public static class Text /// Specifies that the data is in XML format. public const string Xml = "text/xml"; } + + /// Specifies the kind of video data in an email message attachment. + public static class Video + { + /// Specifies that the data is in MP4 format. + public const string Mp4 = "video/mp4"; + + /// Specifies that the data is in MPEG format. + public const string Mpeg = "video/mpeg"; + + /// Specifies that the data is in Ogg format. + public const string Ogg = "video/ogg"; + + /// Specifies that the data is in QuickTime format. + public const string QuickTime = "video/quicktime"; + + /// Specifies that the data is in WebM format. + public const string WebM = "video/webm"; + } } } diff --git a/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs b/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs new file mode 100644 index 00000000000000..ad3e74ee136133 --- /dev/null +++ b/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs @@ -0,0 +1,21 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Xunit; + +namespace System.Net.Mime.Tests +{ + public class MediaTypeNamesVideoTest + { + [Theory] + [InlineData(MediaTypeNames.Video.Mp4, "video/mp4")] + [InlineData(MediaTypeNames.Video.Mpeg, "video/mpeg")] + [InlineData(MediaTypeNames.Video.Ogg, "video/ogg")] + [InlineData(MediaTypeNames.Video.QuickTime, "video/quicktime")] + [InlineData(MediaTypeNames.Video.WebM, "video/webm")] + public void VideoMediaTypeNames_MatchExpectedValues(string actual, string expected) + { + Assert.Equal(expected, actual); + } + } +} diff --git a/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj b/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj index b9ba9d628134ea..f4d98505db98ad 100644 --- a/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj +++ b/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj @@ -13,6 +13,7 @@ + From e13e96106feabfb0459a3f8b0a4d554b9422f803 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Wed, 22 Apr 2026 14:13:37 +0200 Subject: [PATCH 2/2] Remove trivial MediaTypeNames.Video constant-value tests The test only verified that const string fields matched hardcoded string values, which does not provide meaningful coverage. No other MediaTypeNames sub-classes have such tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../tests/Unit/MediaTypeNamesVideoTest.cs | 21 ------------------- .../Unit/System.Net.Mail.Unit.Tests.csproj | 1 - 2 files changed, 22 deletions(-) delete mode 100644 src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs diff --git a/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs b/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs deleted file mode 100644 index ad3e74ee136133..00000000000000 --- a/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using Xunit; - -namespace System.Net.Mime.Tests -{ - public class MediaTypeNamesVideoTest - { - [Theory] - [InlineData(MediaTypeNames.Video.Mp4, "video/mp4")] - [InlineData(MediaTypeNames.Video.Mpeg, "video/mpeg")] - [InlineData(MediaTypeNames.Video.Ogg, "video/ogg")] - [InlineData(MediaTypeNames.Video.QuickTime, "video/quicktime")] - [InlineData(MediaTypeNames.Video.WebM, "video/webm")] - public void VideoMediaTypeNames_MatchExpectedValues(string actual, string expected) - { - Assert.Equal(expected, actual); - } - } -} diff --git a/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj b/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj index f4d98505db98ad..b9ba9d628134ea 100644 --- a/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj +++ b/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj @@ -13,7 +13,6 @@ -