Sha256: ca18340bf7646a61762ed07bc22ea655d36767a91c89fab13756c6e470bbca91

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 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 }

  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

3 entries across 3 versions & 1 rubygems

Version Path
reverse_markdown-0.4.1 spec/mapper_spec.rb
reverse_markdown-0.4.0 spec/mapper_spec.rb
reverse_markdown-0.3.0 spec/mapper_spec.rb