# frozen_string_literal: true
require "onebox/open_graph"
RSpec.describe Onebox::OpenGraph do
it "excludes html tags in title" do
doc =
Nokogiri.HTML(
'
Did’ you <b>miss me</b>? - Album on Imgur',
)
og = described_class.new(doc)
expect(og.title).to eq("Did’ you miss me? - Album on Imgur")
expect(og.description).to eq(
"Post with 7 votes and 151 views. Shared by vinothkannans. Did you miss me?",
)
expect(og.image).to eq("https://i.imgur.com/j1CNCZY.gif?noredirect")
end
it "correctly normalizes the url properties" do
doc =
Nokogiri.HTML(
"",
)
og = described_class.new(doc)
expect(og.image).to eq("http://test.com/test'ing.mp3")
end
describe "Collections" do
subject(:graph) { described_class.new(doc) }
let(:doc) { Nokogiri.HTML(<<-HTML) }
test
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
end