Sha256: 6d98db3c047dd23fcdd0674f193976c5880e3fc448c8e8bcabb069376e171d15

Contents?: true

Size: 1.53 KB

Versions: 8

Compression:

Stored size: 1.53 KB

Contents

require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
require 'json'

describe Slather::CoverageService::CoberturaXmlOutput do

  let(:fixtures_project) do
    proj = Slather::Project.open(FIXTURES_PROJECT_PATH)
    proj.build_directory = TEMP_DERIVED_DATA_PATH
    proj.input_format = "profdata"
    proj.coverage_service = "cobertura_xml"
    proj.configure
    proj
  end

  describe '#coverage_file_class' do
    it "should return CoverageFile" do
      expect(fixtures_project.send(:coverage_file_class)).to eq(Slather::ProfdataCoverageFile)
    end
  end

  describe '#post' do
    it "should create an XML report spanning all coverage files" do
      fixtures_project.post

      file = File.open(FIXTURES_XML_PATH)
      fixture_xml_doc = Nokogiri::XML(file)
      file.close

      file = File.open('cobertura.xml')
      current_xml_doc = Nokogiri::XML(file)
      file.close

      [current_xml_doc, fixture_xml_doc].each do |xml_doc|
        xml_doc.root['timestamp'] = ''
        xml_doc.root['version'] = ''
        source_node = xml_doc.at_css "source"
        source_node.content = ''
      end

      expect(EquivalentXml.equivalent?(current_xml_doc, fixture_xml_doc)).to be_truthy
    end

    it "should create an XML report in the given output directory" do
      fixtures_project.output_directory = "./output"
      fixtures_project.post

      filepath = "#{fixtures_project.output_directory}/cobertura.xml"
      expect(File.exist?(filepath)).to be_truthy

      FileUtils.rm_rf(fixtures_project.output_directory)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
slather-2.8.5 spec/slather/coverage_service/cobertura_xml_spec.rb
slather-2.8.4 spec/slather/coverage_service/cobertura_xml_spec.rb
slather-2.8.3 spec/slather/coverage_service/cobertura_xml_spec.rb
slather-2.8.2 spec/slather/coverage_service/cobertura_xml_spec.rb
slather-2.8.1 spec/slather/coverage_service/cobertura_xml_spec.rb
slather-2.8.0 spec/slather/coverage_service/cobertura_xml_spec.rb
slather-2.7.5 spec/slather/coverage_service/cobertura_xml_spec.rb
slather-2.7.4 spec/slather/coverage_service/cobertura_xml_spec.rb