Sha256: f7381f415c789f3383f68652f5c577673d89959d56633fa1f064e5d9ab24fea3

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 KB

Contents

require 'spec_helper'

describe ReverseMarkdown::Mapper do
  let(:input)    { File.read('spec/assets/minimum.html') }
  let(:document) { Nokogiri::HTML(input) }
  let(:mapper)   { ReverseMarkdown::Mapper.new }

  it "behaves in a sane way when root element is nil" do
    mapper.process_root(nil).should == ''
  end

  context "error handling" do

    let(:unknown_element) { Nokogiri::XML::Node.new('foo', document) }

    it "raises error if told so" do
      mapper.raise_errors = true
      expect {
        mapper.__send__(:opening, unknown_element)
      }.to raise_error(ReverseMarkdown::ParserError)
    end

    it "supresses errors if told so" do
      mapper.raise_errors = false
      expect {
        mapper.__send__(:opening, unknown_element)
      }.not_to raise_error
    end

    context "with Rails present" do

      module Rails # Fake Rails for specs
        def self.logger; @@logger ||= Logger.new; end
        class Logger; def info(message); end; end
      end

      it "logs with Rails.logger if present" do
        Rails.logger.should_receive(:info)
        mapper.__send__(:ending, unknown_element)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
reverse_markdown-0.4.6 spec/mapper_spec.rb
reverse_markdown-0.4.5 spec/mapper_spec.rb
reverse_markdown-0.4.4 spec/mapper_spec.rb
reverse_markdown-0.4.3 spec/mapper_spec.rb
reverse_markdown-0.4.2 spec/mapper_spec.rb