mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-06-25 16:40:37 +00:00
Add test
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
parent
32994bb9c3
commit
9932aeffc5
|
@ -11,7 +11,7 @@ defmodule Pleroma.Language.LanguageDetector do
|
||||||
if provider do
|
if provider do
|
||||||
provider.missing_dependencies()
|
provider.missing_dependencies()
|
||||||
else
|
else
|
||||||
nil
|
[]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ defmodule Pleroma.Language.LanguageDetector do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp get_provider() do
|
defp get_provider do
|
||||||
Pleroma.Config.get([__MODULE__, :provider])
|
Pleroma.Config.get([__MODULE__, :provider])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
31
test/pleroma/language/language_detector_test.ex
Normal file
31
test/pleroma/language/language_detector_test.ex
Normal file
|
@ -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
|
18
test/support/language_detector_mock.ex
Normal file
18
test/support/language_detector_mock.ex
Normal file
|
@ -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
|
Loading…
Reference in a new issue