2020-10-12 11:00:50 -06:00
# Pleroma: A lightweight social networking server
2023-01-01 04:11:47 -07:00
# Copyright © 2017-2023 Pleroma Authors <https://pleroma.social/>
2020-10-12 11:00:50 -06:00
# SPDX-License-Identifier: AGPL-3.0-only
2020-07-22 12:10:10 -06:00
defmodule Pleroma.Repo.Migrations.AutolinkerToLinkifyTest do
use Pleroma.DataCase
import Pleroma.Factory
2020-07-22 15:01:55 -06:00
import Pleroma.Tests.Helpers
2020-07-22 12:10:10 -06:00
alias Pleroma.ConfigDB
2020-07-22 15:01:55 -06:00
setup do : clear_config ( Pleroma.Formatter )
2020-07-22 12:45:15 -06:00
setup_all do : require_migration ( " 20200716195806_autolinker_to_linkify " )
2020-07-22 12:10:10 -06:00
test " change/0 converts auto_linker opts for Pleroma.Formatter " , %{ migration : migration } do
autolinker_opts = [
extra : true ,
validate_tld : true ,
class : false ,
strip_prefix : false ,
new_window : false ,
2020-07-22 15:01:55 -06:00
rel : " testing "
2020-07-22 12:10:10 -06:00
]
insert ( :config , group : :auto_linker , key : :opts , value : autolinker_opts )
migration . change ( )
assert nil == ConfigDB . get_by_params ( %{ group : :auto_linker , key : :opts } )
%{ value : new_opts } = ConfigDB . get_by_params ( %{ group : :pleroma , key : Pleroma.Formatter } )
assert new_opts == [
class : false ,
extra : true ,
new_window : false ,
2020-07-22 15:01:55 -06:00
rel : " testing " ,
2020-07-22 12:10:10 -06:00
strip_prefix : false
]
2021-01-26 10:58:43 -07:00
clear_config ( Pleroma.Formatter , new_opts )
2020-07-22 15:01:55 -06:00
assert new_opts == Pleroma.Config . get ( Pleroma.Formatter )
2020-07-22 12:10:10 -06:00
{ text , _mentions , [ ] } =
Pleroma.Formatter . linkify (
" https://www.businessinsider.com/walmart-will-close-stores-on-thanksgiving-ending-black-friday-tradition-2020-7 \n \n Omg will COVID finally end Black Friday??? "
)
assert text ==
2020-07-22 15:01:55 -06:00
" <a href= \" https://www.businessinsider.com/walmart-will-close-stores-on-thanksgiving-ending-black-friday-tradition-2020-7 \" rel= \" testing \" >https://www.businessinsider.com/walmart-will-close-stores-on-thanksgiving-ending-black-friday-tradition-2020-7</a> \n \n Omg will COVID finally end Black Friday??? "
2020-07-22 12:10:10 -06:00
end
test " transform_opts/1 returns a list of compatible opts " , %{ migration : migration } do
old_opts = [
extra : true ,
validate_tld : true ,
class : false ,
strip_prefix : false ,
new_window : false ,
2020-07-22 15:01:55 -06:00
rel : " qqq "
2020-07-22 12:10:10 -06:00
]
expected_opts = [
class : false ,
extra : true ,
new_window : false ,
2020-07-22 15:01:55 -06:00
rel : " qqq " ,
2020-07-22 12:10:10 -06:00
strip_prefix : false
]
assert migration . transform_opts ( old_opts ) == expected_opts
end
end