2021-05-26 04:41:35 -05:00
# frozen_string_literal: true
require " onebox/open_graph "
2022-07-27 21:27:38 -05:00
RSpec . describe Onebox :: OpenGraph do
2021-05-26 04:41:35 -05:00
it " excludes html tags in title " do
2023-01-09 05:18:21 -06:00
doc =
Nokogiri . HTML (
'<html><title>Did’ you <b>miss me</b>? - Album on Imgur</title><meta name="og:description" content="Post with 7 votes and 151 views. Shared by vinothkannans. Did you <b>miss me</b>?" /><meta property="og:image" content="https://i.imgur.com/j1CNCZY.gif?noredirect" /></html>' ,
)
2021-05-26 04:41:35 -05:00
og = described_class . new ( doc )
expect ( og . title ) . to eq ( " Did’ you miss me? - Album on Imgur " )
2023-01-09 05:18:21 -06:00
expect ( og . description ) . to eq (
" Post with 7 votes and 151 views. Shared by vinothkannans. Did you miss me? " ,
)
2021-05-26 04:41:35 -05:00
expect ( og . image ) . to eq ( " https://i.imgur.com/j1CNCZY.gif?noredirect " )
end
it " correctly normalizes the url properties " do
2023-01-09 05:18:21 -06:00
doc =
Nokogiri . HTML (
" <html><meta property= \" og:image \" content= \" http://test.com/test'ing.mp3 \" /></html> " ,
)
2021-05-26 04:41:35 -05:00
og = described_class . new ( doc )
expect ( og . image ) . to eq ( " http://test.com/test'ing.mp3 " )
end
2022-11-24 09:28:21 -06:00
describe " Collections " do
subject ( :graph ) { described_class . new ( doc ) }
let ( :doc ) { Nokogiri . HTML ( <<-HTML) }
< html >
< title > test < / title>
< meta property = " og:article:tag " content = " <b>tag1</b> " / >
< meta property = " og:article:tag " content = " tag2 " / >
< meta property = " og:article:section " content = " category1 " / >
< meta property = " og:article:section " content = " category2 " / >
< meta property = " og:article:section:color " content = " ff0000 " / >
< meta property = " og:article:section:color " content = " 0000ff " / >
< / html>
HTML
it " handles multiple article:tag tags " do
expect ( graph . article_tags ) . to eq %w[ tag1 tag2 ]
end
it " handles multiple article:section tags " do
expect ( graph . article_sections ) . to eq %w[ category1 category2 ]
end
it " handles multiple article:section:color tags " do
expect ( graph . article_section_colors ) . to eq %w[ ff0000 0000ff ]
end
end
2021-05-26 04:41:35 -05:00
end