From a40bf5d24fb75b246b9e11908b24cdcedabcb3af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Sun, 28 Jul 2024 13:44:17 +0200 Subject: [PATCH] Fix good_locale_code?/1 regex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- .../ecto_type/activity_pub/object_validators/language_code.ex | 2 +- .../activity_pub/object_validators/language_code_test.exs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/ecto_type/activity_pub/object_validators/language_code.ex b/lib/pleroma/ecto_type/activity_pub/object_validators/language_code.ex index 3135af1fa..4779deeb0 100644 --- a/lib/pleroma/ecto_type/activity_pub/object_validators/language_code.ex +++ b/lib/pleroma/ecto_type/activity_pub/object_validators/language_code.ex @@ -21,7 +21,7 @@ defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.LanguageCode do def load(data), do: {:ok, data} - def good_locale_code?(code) when is_binary(code), do: code =~ ~r<^[a-zA-Z0-9\-]+$> + def good_locale_code?(code) when is_binary(code), do: code =~ ~r<^[a-zA-Z0-9\-]+\z$> def good_locale_code?(_code), do: false end diff --git a/test/pleroma/ecto_type/activity_pub/object_validators/language_code_test.exs b/test/pleroma/ecto_type/activity_pub/object_validators/language_code_test.exs index 2261cc209..086bb3e97 100644 --- a/test/pleroma/ecto_type/activity_pub/object_validators/language_code_test.exs +++ b/test/pleroma/ecto_type/activity_pub/object_validators/language_code_test.exs @@ -20,6 +20,7 @@ defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.LanguageCodeTest do test "errors for invalid language code" do assert {:error, :invalid_language} = LanguageCode.cast("ru_RU") assert {:error, :invalid_language} = LanguageCode.cast(" ") + assert {:error, :invalid_language} = LanguageCode.cast("en-US\n") end test "errors for non-text" do