simplecov-cobertura 1.0.2 → 1.0.3.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 811c6f707a717ab4202f9de5f9235854f58c763e
4
- data.tar.gz: cc42538afcb4724c00afd2db30713c0e13f1d49b
3
+ metadata.gz: 4cfd70e08a9f0d92c8bb2099b662992b210a1bba
4
+ data.tar.gz: 2b25de89f8263b8ec0f00e3120412bd39d3f3cab
5
5
  SHA512:
6
- metadata.gz: b14ccf7577b8f90e59a1586b3856e7a84310a82dc97487c8d1a7e5fa9c720702049e7279677c4f2427f3e6d96cc3d3f35661e68381cb112309cce677c6ec7bed
7
- data.tar.gz: f9fbf6d4c6bf03737a1e3cdabbbd41bd9a4f806bd8f2ead716e58215771a54d8fdb701f756c77a297651ebbc17d9ff1a9eb6e5facc67dc3b9eea824b730461e1
6
+ metadata.gz: c7f6e99955bde887f5472f4bdc10123cdec433515a902b92661ba9e5cf50da8d134adf647c534624741b749b742727b543739eaa941bfdd25eee9b44c7808a5b
7
+ data.tar.gz: cc5d4d18eac3c57bcdb4bfb0b1036fccca7a2aaf711a90237f72d14feaa78220f3466dc9883e24a4339396f47e355fde15646014c24c8494804bdb785af5c9a4
data/README.md CHANGED
@@ -32,6 +32,9 @@ SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
32
32
 
33
33
  ## Continuous Integration
34
34
  Tested in a CI environment against the following Ruby versions:
35
+ * ruby-head
36
+ * 2.3
37
+ * 2.2
35
38
  * 2.1
36
39
  * 2.0.0
37
40
  * 1.9
@@ -44,6 +47,10 @@ If you get an error about not being able to install the libxml-ruby gem, do the
44
47
 
45
48
  $ sudo apt-get install libxml2-dev
46
49
 
50
+ ## Contributors
51
+ * Jesse Bowes
52
+ * Sean Clemmer
53
+
47
54
  ## Contributing
48
55
 
49
56
  1. Fork it ( https://github.com/dashingrocket/simplecov-cobertura/fork )
@@ -1,4 +1,5 @@
1
- require 'libxml'
1
+ require 'rexml/document'
2
+ require 'rexml/element'
2
3
  require 'simplecov'
3
4
 
4
5
  class SimpleCov::Formatter::CoberturaFormatter
@@ -7,90 +8,87 @@ class SimpleCov::Formatter::CoberturaFormatter
7
8
 
8
9
  def format(result)
9
10
  xml = result_to_xml result
10
-
11
11
  result_path = File.join( SimpleCov.coverage_path, RESULT_FILE_NAME )
12
12
  File.write(result_path, xml)
13
13
  puts "Coverage report generated for #{result.command_name} to #{result_path}"
14
14
  xml
15
15
  end
16
-
16
+
17
17
  private
18
18
  def result_to_xml(result)
19
- doc = LibXML::XML::Document.new
20
- doc.root = LibXML::XML::Node.new('coverage')
19
+ doc = REXML::Document.new set_xml_head
20
+ doc.add_element REXML::Element.new('coverage')
21
21
  coverage = doc.root
22
22
 
23
23
  set_coverage_attributes(coverage, result)
24
24
 
25
- coverage << sources = LibXML::XML::Node.new('sources')
26
- sources << source = LibXML::XML::Node.new('source')
27
- source << SimpleCov.root
25
+ coverage.add_element(sources = REXML::Element.new('sources'))
26
+ sources.add_element(source = REXML::Element.new('source'))
27
+ source.text = SimpleCov.root
28
28
 
29
- coverage << packages = LibXML::XML::Node.new('packages')
30
- packages << package = LibXML::XML::Node.new('package')
29
+ coverage.add_element(packages = REXML::Element.new('packages'))
30
+ packages.add_element(package = REXML::Element.new('package'))
31
31
  set_package_attributes(package, result)
32
32
 
33
- package << classes = LibXML::XML::Node.new('classes')
33
+ package.add_element(classes = REXML::Element.new('classes'))
34
34
 
35
35
  result.files.each do |file|
36
- classes << class_ = LibXML::XML::Node.new('class')
36
+ classes.add_element(class_ = REXML::Element.new('class'))
37
37
  set_class_attributes(class_, file)
38
38
 
39
- class_ << LibXML::XML::Node.new('methods')
40
- class_ << lines = LibXML::XML::Node.new('lines')
39
+ class_.add_element(REXML::Element.new('methods'))
40
+ class_.add_element(lines = REXML::Element.new('lines'))
41
41
 
42
42
  file.lines.each do |file_line|
43
43
  if file_line.covered? || file_line.missed?
44
- lines << line = LibXML::XML::Node.new('line')
44
+ lines.add_element(line = REXML::Element.new('line'))
45
45
  set_line_attributes(line, file_line)
46
46
  end
47
47
  end
48
48
  end
49
49
 
50
- set_xml_head(doc.to_s)
50
+ doc.to_s
51
51
  end
52
-
52
+
53
53
  def set_coverage_attributes(coverage, result)
54
- coverage['line-rate'] = (result.covered_percent/100).round(2).to_s
55
- coverage['branch-rate'] = '0'
56
- coverage['lines-covered'] = result.covered_lines.to_s
57
- coverage['lines-valid'] = (result.covered_lines + result.missed_lines).to_s
58
- coverage['branches-covered'] = '0'
59
- coverage['branches-valid'] = '0'
60
- coverage['branch-rate'] = '0'
61
- coverage['complexity'] = '0'
62
- coverage['version'] = '0'
63
- coverage['timestamp'] = Time.now.to_i.to_s
54
+ coverage.attributes['line-rate'] = (result.covered_percent/100).round(2).to_s
55
+ coverage.attributes['branch-rate'] = '0'
56
+ coverage.attributes['lines-covered'] = result.covered_lines.to_s
57
+ coverage.attributes['lines-valid'] = (result.covered_lines + result.missed_lines).to_s
58
+ coverage.attributes['branches-covered'] = '0'
59
+ coverage.attributes['branches-valid'] = '0'
60
+ coverage.attributes['branch-rate'] = '0'
61
+ coverage.attributes['complexity'] = '0'
62
+ coverage.attributes['version'] = '0'
63
+ coverage.attributes['timestamp'] = Time.now.to_i.to_s
64
64
  end
65
-
65
+
66
66
  def set_package_attributes(package, result)
67
- package['name'] = 'simplecov-cobertura'
68
- package['line-rate'] = (result.covered_percent/100).round(2).to_s
69
- package['branch-rate'] = '0'
70
- package['complexity'] = '0'
67
+ package.attributes['name'] = 'simplecov-cobertura'
68
+ package.attributes['line-rate'] = (result.covered_percent/100).round(2).to_s
69
+ package.attributes['branch-rate'] = '0'
70
+ package.attributes['complexity'] = '0'
71
71
  end
72
-
72
+
73
73
  def set_class_attributes(class_, file)
74
74
  filename = file.filename
75
75
  path = filename[SimpleCov.root.length+1..-1]
76
- class_['name'] = File.basename(filename, '.*')
77
- class_['filename'] = path
78
- class_['line-rate'] = (file.covered_percent/100).round(2).to_s
79
- class_['branch-rate'] = '0'
80
- class_['complexity'] = '0'
76
+ class_.attributes['name'] = File.basename(filename, '.*')
77
+ class_.attributes['filename'] = path
78
+ class_.attributes['line-rate'] = (file.covered_percent/100).round(2).to_s
79
+ class_.attributes['branch-rate'] = '0'
80
+ class_.attributes['complexity'] = '0'
81
81
  end
82
-
82
+
83
83
  def set_line_attributes(line, file_line)
84
- line['number'] = file_line.line_number.to_s
85
- line['branch'] = 'false'
86
- line['hits'] = file_line.coverage.to_s
84
+ line.attributes['number'] = file_line.line_number.to_s
85
+ line.attributes['branch'] = 'false'
86
+ line.attributes['hits'] = file_line.coverage.to_s
87
87
  end
88
-
89
- def set_xml_head(xml)
90
- lines = xml.split("\n")
91
- lines.insert(1, "<!DOCTYPE coverage SYSTEM \"#{DTD_URL}\">")
92
- lines.insert(2, '<!-- Generated by simplecov-cobertura -->')
88
+
89
+ def set_xml_head(lines=[])
90
+ lines << "<!DOCTYPE coverage SYSTEM \"#{DTD_URL}\">"
91
+ lines << '<!-- Generated by simplecov-cobertura -->'
93
92
  lines.join("\n")
94
93
  end
95
94
  end
96
-
data/shippable.yml CHANGED
@@ -1,9 +1,12 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.1
4
+ - ruby-head
5
+ - 2.3.0
6
+ - 2.2.0
7
+ - 2.1.5
5
8
  - 2.0.0
6
- - 1.9
9
+ - 1.9.3
7
10
 
8
11
  env:
9
12
  - CI_REPORTS=shippable/testresults COVERAGE_REPORTS=shippable/codecoverage
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'simplecov-cobertura'
7
- spec.version = '1.0.2'
7
+ spec.version = '1.0.3.beta.1'
8
8
  spec.authors = ['Jesse Bowes']
9
9
  spec.email = ['jbowes@dashingrocket.com']
10
10
  spec.summary = 'SimpleCov Cobertura Formatter'
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'bundler', '~> 1.7'
22
22
  spec.add_development_dependency 'rake', '~> 10.0'
23
23
  spec.add_development_dependency 'ci_reporter_test_unit', '~> 1.0'
24
+ spec.add_development_dependency 'libxml-ruby', '~> 2.7'
24
25
 
25
- spec.add_runtime_dependency 'libxml-ruby', '~> 2.7'
26
26
  spec.add_runtime_dependency 'simplecov', '~> 0.8'
27
27
  end
@@ -20,10 +20,9 @@ class CoberturaFormatterTest < Test::Unit::TestCase
20
20
  assert_not_empty(xml)
21
21
  assert_equal(xml, IO.read(result_path))
22
22
  end
23
-
23
+
24
24
  def test_format_dtd_validates
25
25
  xml = @formatter.format(@result)
26
-
27
26
  dtd_text = open(SimpleCov::Formatter::CoberturaFormatter::DTD_URL) { |io| io.read }
28
27
  dtd = LibXML::XML::Dtd.new(dtd_text)
29
28
  doc = LibXML::XML::Document.string(xml)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplecov-cobertura
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jesse Bowes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-29 00:00:00.000000000 Z
11
+ date: 2016-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -59,7 +59,7 @@ dependencies:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '2.7'
62
- type: :runtime
62
+ type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
@@ -111,12 +111,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
111
  version: 1.9.3
112
112
  required_rubygems_version: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - ">="
114
+ - - ">"
115
115
  - !ruby/object:Gem::Version
116
- version: '0'
116
+ version: 1.3.1
117
117
  requirements: []
118
118
  rubyforge_project:
119
- rubygems_version: 2.4.3
119
+ rubygems_version: 2.5.1
120
120
  signing_key:
121
121
  specification_version: 4
122
122
  summary: SimpleCov Cobertura Formatter