@ -7,8 +7,7 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
alias Pleroma.Web.RichMedia.Parsers.TwitterCard
test " returns error when html not contains twitter card " do
assert TwitterCard . parse ( [ { " html " , [ ] , [ { " head " , [ ] , [ ] } , { " body " , [ ] , [ ] } ] } ] , %{ } ) ==
{ :error , " No twitter card metadata found " }
assert TwitterCard . parse ( [ { " html " , [ ] , [ { " head " , [ ] , [ ] } , { " body " , [ ] , [ ] } ] } ] , %{ } ) == %{ }
end
test " parses twitter card with only name attributes " do
@ -17,15 +16,21 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
|> Floki . parse_document! ( )
assert TwitterCard . parse ( html , %{ } ) ==
{ :ok ,
%{
" app:id:googleplay " : " com.nytimes.android " ,
" app:name:googleplay " : " NYTimes " ,
" app:url:googleplay " : " nytimes://reader/id/100000006583622 " ,
site : nil ,
description :
" With little oversight, the N.Y.P.D. has been using powerful surveillance technology on photos of children and teenagers. " ,
image :
" https://static01.nyt.com/images/2019/08/01/nyregion/01nypd-juveniles-promo/01nypd-juveniles-promo-facebookJumbo.jpg " ,
type : " article " ,
url :
" https://www.nytimes.com/2019/08/01/nyregion/nypd-facial-recognition-children-teenagers.html " ,
title :
" She Was Arrested at 14. Then Her Photo Went to a Facial Recognition Database. - The New York Times "
} }
" She Was Arrested at 14. Then Her Photo Went to a Facial Recognition Database. "
}
end
test " parses twitter card with only property attributes " do
@ -34,7 +39,6 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
|> Floki . parse_document! ( )
assert TwitterCard . parse ( html , %{ } ) ==
{ :ok ,
%{
card : " summary_large_image " ,
description :
@ -45,8 +49,9 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
title :
" She Was Arrested at 14. Then Her Photo Went to a Facial Recognition Database. " ,
url :
" https://www.nytimes.com/2019/08/01/nyregion/nypd-facial-recognition-children-teenagers.html "
} }
" https://www.nytimes.com/2019/08/01/nyregion/nypd-facial-recognition-children-teenagers.html " ,
type : " article "
}
end
test " parses twitter card with name & property attributes " do
@ -55,7 +60,6 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
|> Floki . parse_document! ( )
assert TwitterCard . parse ( html , %{ } ) ==
{ :ok ,
%{
" app:id:googleplay " : " com.nytimes.android " ,
" app:name:googleplay " : " NYTimes " ,
@ -70,8 +74,9 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
title :
" She Was Arrested at 14. Then Her Photo Went to a Facial Recognition Database. " ,
url :
" https://www.nytimes.com/2019/08/01/nyregion/nypd-facial-recognition-children-teenagers.html "
} }
" https://www.nytimes.com/2019/08/01/nyregion/nypd-facial-recognition-children-teenagers.html " ,
type : " article "
}
end
test " respect only first title tag on the page " do
@ -84,14 +89,17 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
File . read! ( " test/fixtures/margaret-corbin-grave-west-point.html " ) |> Floki . parse_document! ( )
assert TwitterCard . parse ( html , %{ } ) ==
{ :ok ,
%{
site : " @atlasobscura " ,
title :
" The Missing Grave of Margaret Corbin, Revolutionary War Veteran - Atlas Obscura " ,
title : " The Missing Grave of Margaret Corbin, Revolutionary War Veteran " ,
card : " summary_large_image " ,
image : image_path
} }
image : image_path ,
description :
" She's the only woman veteran honored with a monument at West Point. But where was she buried? " ,
site_name : " Atlas Obscura " ,
type : " article " ,
url : " http://www.atlasobscura.com/articles/margaret-corbin-grave-west-point "
}
end
test " takes first founded title in html head if there is html markup error " do
@ -100,14 +108,20 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do
|> Floki . parse_document! ( )
assert TwitterCard . parse ( html , %{ } ) ==
{ :ok ,
%{
site : nil ,
title :
" She Was Arrested at 14. Then Her Photo Went to a Facial Recognition Database. - The New York Times " ,
" She Was Arrested at 14. Then Her Photo Went to a Facial Recognition Database. " ,
" app:id:googleplay " : " com.nytimes.android " ,
" app:name:googleplay " : " NYTimes " ,
" app:url:googleplay " : " nytimes://reader/id/100000006583622 "
} }
" app:url:googleplay " : " nytimes://reader/id/100000006583622 " ,
description :
" With little oversight, the N.Y.P.D. has been using powerful surveillance technology on photos of children and teenagers. " ,
image :
" https://static01.nyt.com/images/2019/08/01/nyregion/01nypd-juveniles-promo/01nypd-juveniles-promo-facebookJumbo.jpg " ,
type : " article " ,
url :
" https://www.nytimes.com/2019/08/01/nyregion/nypd-facial-recognition-children-teenagers.html "
}
end
end