require 'rails_helper' require 'email_cook' describe EmailCook do it 'adds linebreaks to short lines' do expect(EmailCook.new("hello\nworld\n").cook).to eq("hello\n<br>world\n<br>") end it "doesn't add linebreaks to long lines" do long = <<LONG_EMAIL Hello, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc convallis volutpat risus. Nulla ac faucibus quam, quis cursus lorem. Sed rutrum eget nunc sed accumsan. Vestibulum feugiat mi vitae turpis tempor dignissim. LONG_EMAIL long_cooked = <<LONG_COOKED Hello, <br> <br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc convallis volutpat risus. Nulla ac faucibus quam, quis cursus lorem. Sed rutrum eget nunc sed accumsan. Vestibulum feugiat mi vitae turpis tempor dignissim. <br><br> LONG_COOKED expect(EmailCook.new(long).cook).to eq(long_cooked.strip) end it 'autolinks' do expect(EmailCook.new("https://www.eviltrout.com").cook).to eq("<a href='https://www.eviltrout.com'>https://www.eviltrout.com</a><br>") end it 'autolinks without the beginning of a line' do expect(EmailCook.new("my site: https://www.eviltrout.com").cook).to eq("my site: <a href='https://www.eviltrout.com'>https://www.eviltrout.com</a><br>") end it 'links even within a quote' do expect(EmailCook.new("> https://www.eviltrout.com").cook).to eq("<blockquote><a href='https://www.eviltrout.com'>https://www.eviltrout.com</a><br></blockquote>") end end