From 02e27fb795f006f8e4fa4e29aac42e82b26d56ef Mon Sep 17 00:00:00 2001 From: Tomas Date: Fri, 25 Apr 2025 12:21:52 +0300 Subject: [PATCH] [Notifier] [Discord] Fix value limits --- .../Bridge/Discord/Embeds/DiscordAuthorEmbedObject.php | 2 +- .../Component/Notifier/Bridge/Discord/Embeds/DiscordEmbed.php | 4 ++-- .../Bridge/Discord/Embeds/DiscordFieldEmbedObject.php | 4 ++-- .../Bridge/Discord/Embeds/DiscordFooterEmbedObject.php | 2 +- .../Discord/Tests/Embeds/DiscordAuthorEmbedObjectTest.php | 2 +- .../Notifier/Bridge/Discord/Tests/Embeds/DiscordEmbedTest.php | 4 ++-- .../Discord/Tests/Embeds/DiscordFieldEmbedObjectTest.php | 4 ++-- .../Discord/Tests/Embeds/DiscordFooterEmbedObjectTest.php | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordAuthorEmbedObject.php b/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordAuthorEmbedObject.php index 590fd721f1f57..dd4a507ba65b2 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordAuthorEmbedObject.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordAuthorEmbedObject.php @@ -25,7 +25,7 @@ final class DiscordAuthorEmbedObject extends AbstractDiscordEmbedObject */ public function name(string $name): static { - if (\strlen($name) > self::NAME_LIMIT) { + if (mb_strlen($name, 'UTF-8') > self::NAME_LIMIT) { throw new LengthException(sprintf('Maximum length for the name is %d characters.', self::NAME_LIMIT)); } diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordEmbed.php b/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordEmbed.php index f6c54608df4a6..cc7d1461e2856 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordEmbed.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordEmbed.php @@ -27,7 +27,7 @@ final class DiscordEmbed extends AbstractDiscordEmbed */ public function title(string $title): static { - if (\strlen($title) > self::TITLE_LIMIT) { + if (mb_strlen($title, 'UTF-8') > self::TITLE_LIMIT) { throw new LengthException(sprintf('Maximum length for the title is %d characters.', self::TITLE_LIMIT)); } @@ -41,7 +41,7 @@ public function title(string $title): static */ public function description(string $description): static { - if (\strlen($description) > self::DESCRIPTION_LIMIT) { + if (mb_strlen($description, 'UTF-8') > self::DESCRIPTION_LIMIT) { throw new LengthException(sprintf('Maximum length for the description is %d characters.', self::DESCRIPTION_LIMIT)); } diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordFieldEmbedObject.php b/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordFieldEmbedObject.php index 07b2e651d3dbd..102aee2d8ee42 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordFieldEmbedObject.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordFieldEmbedObject.php @@ -26,7 +26,7 @@ final class DiscordFieldEmbedObject extends AbstractDiscordEmbedObject */ public function name(string $name): static { - if (\strlen($name) > self::NAME_LIMIT) { + if (mb_strlen($name, 'UTF-8') > self::NAME_LIMIT) { throw new LengthException(sprintf('Maximum length for the name is %d characters.', self::NAME_LIMIT)); } @@ -40,7 +40,7 @@ public function name(string $name): static */ public function value(string $value): static { - if (\strlen($value) > self::VALUE_LIMIT) { + if (mb_strlen($value, 'UTF-8') > self::VALUE_LIMIT) { throw new LengthException(sprintf('Maximum length for the value is %d characters.', self::VALUE_LIMIT)); } diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordFooterEmbedObject.php b/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordFooterEmbedObject.php index 710b1d20b32bb..ebefbff6ee354 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordFooterEmbedObject.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Embeds/DiscordFooterEmbedObject.php @@ -25,7 +25,7 @@ final class DiscordFooterEmbedObject extends AbstractDiscordEmbedObject */ public function text(string $text): static { - if (\strlen($text) > self::TEXT_LIMIT) { + if (mb_strlen($text, 'UTF-8') > self::TEXT_LIMIT) { throw new LengthException(sprintf('Maximum length for the text is %d characters.', self::TEXT_LIMIT)); } diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordAuthorEmbedObjectTest.php b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordAuthorEmbedObjectTest.php index 1fa525505d909..dcc6d2198b527 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordAuthorEmbedObjectTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordAuthorEmbedObjectTest.php @@ -38,6 +38,6 @@ public function testThrowsWhenNameExceedsCharacterLimit() $this->expectException(LengthException::class); $this->expectExceptionMessage('Maximum length for the name is 256 characters.'); - (new DiscordAuthorEmbedObject())->name(str_repeat('h', 257)); + (new DiscordAuthorEmbedObject())->name(str_repeat('š', 257)); } } diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordEmbedTest.php b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordEmbedTest.php index 02fdd40b5d64a..f79786f6ae7e2 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordEmbedTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordEmbedTest.php @@ -45,7 +45,7 @@ public function testThrowsWhenTitleExceedsCharacterLimit() $this->expectException(LengthException::class); $this->expectExceptionMessage('Maximum length for the title is 256 characters.'); - (new DiscordEmbed())->title(str_repeat('h', 257)); + (new DiscordEmbed())->title(str_repeat('š', 257)); } public function testThrowsWhenDescriptionExceedsCharacterLimit() @@ -53,7 +53,7 @@ public function testThrowsWhenDescriptionExceedsCharacterLimit() $this->expectException(LengthException::class); $this->expectExceptionMessage('Maximum length for the description is 4096 characters.'); - (new DiscordEmbed())->description(str_repeat('h', 4097)); + (new DiscordEmbed())->description(str_repeat('š', 4097)); } public function testThrowsWhenFieldsLimitReached() diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordFieldEmbedObjectTest.php b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordFieldEmbedObjectTest.php index c432aab995385..77594c458793e 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordFieldEmbedObjectTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordFieldEmbedObjectTest.php @@ -36,7 +36,7 @@ public function testThrowsWhenNameExceedsCharacterLimit() $this->expectException(LengthException::class); $this->expectExceptionMessage('Maximum length for the name is 256 characters.'); - (new DiscordFieldEmbedObject())->name(str_repeat('h', 257)); + (new DiscordFieldEmbedObject())->name(str_repeat('š', 257)); } public function testThrowsWhenValueExceedsCharacterLimit() @@ -44,6 +44,6 @@ public function testThrowsWhenValueExceedsCharacterLimit() $this->expectException(LengthException::class); $this->expectExceptionMessage('Maximum length for the value is 1024 characters.'); - (new DiscordFieldEmbedObject())->value(str_repeat('h', 1025)); + (new DiscordFieldEmbedObject())->value(str_repeat('š', 1025)); } } diff --git a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordFooterEmbedObjectTest.php b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordFooterEmbedObjectTest.php index c9d50a46b89d2..b1c60d6f74d91 100644 --- a/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordFooterEmbedObjectTest.php +++ b/src/Symfony/Component/Notifier/Bridge/Discord/Tests/Embeds/DiscordFooterEmbedObjectTest.php @@ -36,6 +36,6 @@ public function testThrowsWhenTextExceedsCharacterLimit() $this->expectException(LengthException::class); $this->expectExceptionMessage('Maximum length for the text is 2048 characters.'); - (new DiscordFooterEmbedObject())->text(str_repeat('h', 2049)); + (new DiscordFooterEmbedObject())->text(str_repeat('š', 2049)); } } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy