Browse Source

Add filename_display_max_length config

revert-6dd1575c
Roman Chvanikov 4 years ago
parent
commit
cc82229ba7
3 changed files with 39 additions and 13 deletions
  1. +2
    -1
      config/config.exs
  2. +5
    -3
      lib/pleroma/web/common_api/utils.ex
  3. +32
    -9
      test/web/common_api/common_api_utils_test.exs

+ 2
- 1
config/config.exs View File

@@ -71,7 +71,8 @@ config :pleroma, Pleroma.Upload,
follow_redirect: true, follow_redirect: true,
pool: :upload pool: :upload
] ]
]
],
filename_display_max_length: 30


config :pleroma, Pleroma.Uploaders.Local, uploads: "uploads" config :pleroma, Pleroma.Uploaders.Local, uploads: "uploads"




+ 5
- 3
lib/pleroma/web/common_api/utils.ex View File

@@ -396,10 +396,12 @@ defmodule Pleroma.Web.CommonAPI.Utils do
def to_masto_date(_), do: "" def to_masto_date(_), do: ""


defp shortname(name) do defp shortname(name) do
if String.length(name) < 30 do
name
with max_length when max_length > 0 <-
Pleroma.Config.get([Pleroma.Upload, :filename_display_max_length], 30),
true <- String.length(name) > max_length do
String.slice(name, 0..max_length) <> "…"
else else
String.slice(name, 0..30) <> "…"
_ -> name
end end
end end




+ 32
- 9
test/web/common_api/common_api_utils_test.exs View File

@@ -14,18 +14,41 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do


@public_address "https://www.w3.org/ns/activitystreams#Public" @public_address "https://www.w3.org/ns/activitystreams#Public"


test "it adds attachment links to a given text and attachment set" do
name =
"Sakura%20Mana%20%E2%80%93%20Turned%20on%20by%20a%20Senior%20OL%20with%20a%20Temptating%20Tight%20Skirt-s%20Full%20Hipline%20and%20Panty%20Shot-%20Beautiful%20Thick%20Thighs-%20and%20Erotic%20Ass-%20-2015-%20--%20Oppaitime%208-28-2017%206-50-33%20PM.png"
describe "add_attachments/2" do
setup do
name =
"Sakura Mana – Turned on by a Senior OL with a Temptating Tight Skirt-s Full Hipline and Panty Shot- Beautiful Thick Thighs- and Erotic Ass- -2015- -- Oppaitime 8-28-2017 6-50-33 PM.png"


attachment = %{
"url" => [%{"href" => name}]
}
attachment = %{
"url" => [%{"href" => URI.encode(name)}]
}


res = Utils.add_attachments("", [attachment])
%{name: name, attachment: attachment}
end

test "it adds attachment links to a given text and attachment set", %{
name: name,
attachment: attachment
} do
len = 10
clear_config([Pleroma.Upload, :filename_display_max_length], len)


assert res ==
"<br><a href=\"#{name}\" class='attachment'>Sakura Mana – Turned on by a Se…</a>"
expected =
"<br><a href=\"#{URI.encode(name)}\" class='attachment'>#{String.slice(name, 0..len)}…</a>"

assert Utils.add_attachments("", [attachment]) == expected
end

test "doesn't truncate file name if config for truncate is set to 0", %{
name: name,
attachment: attachment
} do
clear_config([Pleroma.Upload, :filename_display_max_length], 0)

expected = "<br><a href=\"#{URI.encode(name)}\" class='attachment'>#{name}</a>"

assert Utils.add_attachments("", [attachment]) == expected
end
end end


describe "it confirms the password given is the current users password" do describe "it confirms the password given is the current users password" do


Loading…
Cancel
Save