require 'spec_helper' require 'email' describe Email::Styles do def basic_fragment(html) styler = Email::Styles.new(html) styler.format_basic Nokogiri::HTML.fragment(styler.to_html) end def html_fragment(html) styler = Email::Styles.new(html) styler.format_basic styler.format_html Nokogiri::HTML.fragment(styler.to_html) end context "basic formatter" do it "works with an empty string" do style = Email::Styles.new("") style.format_basic expect(style.to_html).to be_blank end it "adds a max-width to images" do frag = basic_fragment("") expect(frag.at("img")["style"]).to match("max-width") end it "adds a width and height to images with an emoji path" do frag = basic_fragment("") expect(frag.at("img")["width"]).to eq("20") expect(frag.at("img")["height"]).to eq("20") end it "converts relative paths to absolute paths" do frag = basic_fragment("") expect(frag.at("img")["src"]).to eq("#{Discourse.base_url}/some-image.png") end it "it does not change protocol relative paths" do frag = basic_fragment("") expect(frag.at("img")["src"]).to eq("//www.discourse.com/some-image.gif") end it "strips classes and ids" do frag = basic_fragment("
hello") style.format_basic style.format_html expect(style.to_html).to eq("hello") end end end