logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://anongit.hacktivis.me/git/pleroma.git/
commit: 9932aeffc5b1469c9e42799d31f4599fc3db993b
parent 32994bb9c37f822ec97a5f07aab94bb3e94d9b1e
Author: marcin mikołajczak <git@mkljczk.pl>
Date:   Thu,  3 Nov 2022 22:43:20 +0100

Add test

Signed-off-by: marcin mikołajczak <git@mkljczk.pl>

Diffstat:

Mlib/pleroma/language/language_detector.ex4++--
Atest/pleroma/language/language_detector_test.ex31+++++++++++++++++++++++++++++++
Atest/support/language_detector_mock.ex18++++++++++++++++++
3 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/lib/pleroma/language/language_detector.ex b/lib/pleroma/language/language_detector.ex @@ -11,7 +11,7 @@ defmodule Pleroma.Language.LanguageDetector do if provider do provider.missing_dependencies() else - nil + [] end end @@ -28,7 +28,7 @@ defmodule Pleroma.Language.LanguageDetector do end end - defp get_provider() do + defp get_provider do Pleroma.Config.get([__MODULE__, :provider]) end end diff --git a/test/pleroma/language/language_detector_test.ex b/test/pleroma/language/language_detector_test.ex @@ -0,0 +1,31 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Language.LanguageDetectorTest do + use Pleroma.Web.ConnCase + + alias Pleroma.Language.LanguageDetector + + setup do: clear_config([Pleroma.Language.LanguageDetector, :provider], LanguageDetectorMock) + + test "it detects text language" do + detected_language = LanguageDetector.detect("Je viens d'atterrir en Tchéquie.") + + assert detected_language == "fr" + end + + test "it returns nil if text is not long enough" do + detected_language = LanguageDetector.detect("it returns nil") + + assert detected_language == nil + end + + test "it returns nil if no provider specified" do + clear_config([Pleroma.Language.LanguageDetector, :provider], nil) + + detected_language = LanguageDetector.detect("this should also return nil") + + assert detected_language == nil + end +end diff --git a/test/support/language_detector_mock.ex b/test/support/language_detector_mock.ex @@ -0,0 +1,18 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule LanguageDetectorMock do + alias Pleroma.Language.LanguageDetector.Provider + + @behaviour Provider + + @impl Provider + def missing_dependencies, do: [] + + @impl Provider + def configured?, do: true + + @impl Provider + def detect(text), do: "fr" +end