cobertura_xml_merger 0.1.0 → 0.2.0

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: 3dbc6dab79a03768be5cb4d3e81d938c72d5e233
4
- data.tar.gz: 666f412066520f8f5fcb6803589755e4315488e8
3
+ metadata.gz: cdc89d3c738951a9b7cea4a9445f28199480e276
4
+ data.tar.gz: 4ada94f6fa645818f5b9f9181abbaa2d849e49dd
5
5
  SHA512:
6
- metadata.gz: 21bed2d5c70367eefb2603bd19e1e22b9cf93b117d9c7db2f63bcf04c48ea1b9d6c5bcb9df6c9bc4fa461cc70e44c2474168f07d1d396fa2acdc7d48fdd4d8c5
7
- data.tar.gz: fc2a5788dfd4dba5769f26307f48566d9d966cfc2d28edacb78ef4e7eb0a51c179d5ba994d0053f4c9a44522185ed1b4377ebe709394aae9e2f60ee22dd5d3be
6
+ metadata.gz: c25cd69f81ee9f10ad5b96c4561c5e81043f3fa110137adf17beb58ee9e50d55f3eb59faaffa2c9b6b11323c05e6baaf9765516ca49def3440d8a2380c91e69b
7
+ data.tar.gz: 7455d4c4fb5853cfcfd7d65a5aa9e1212268ffa69c90143c0774a74321f73e697233ccf7cfd65960c7e98584337f1109f9a054867afd9075af7ec433e489013b
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2
4
+ before_install: gem install bundler -v 1.11.2
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # CoberturaXmlMerger
1
+ # CoberturaXmlMerger [![Build Status](https://travis-ci.org/juanger/cobertura_xml_merger.svg?branch=master)](https://travis-ci.org/juanger/cobertura_xml_merger)
2
2
 
3
3
  Merge Cobertura XML reports into a single file.
4
4
 
@@ -7,9 +7,6 @@ Merge Cobertura XML reports into a single file.
7
7
  1) It assumes you used the simplecov-cobertura gem to generate the reports which means only one package
8
8
  per report.
9
9
 
10
- 2) It assumes your code is the same, so all reports should have the same number of classes and lines
11
- in each class
12
-
13
10
  ## Installation
14
11
 
15
12
  $ gem install cobertura_xml_merger
data/Rakefile CHANGED
@@ -1,2 +1,10 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:spec) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList['test/**/*_test.rb']
8
+ end
9
+
2
10
  task :default => :spec
@@ -19,5 +19,6 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_development_dependency 'bundler', '~> 1.11'
21
21
  spec.add_development_dependency 'rake', '~> 10.0'
22
+ spec.add_development_dependency 'minitest', '~> 5.9.1'
22
23
  spec.add_dependency 'nokogiri', '~> 1.6'
23
24
  end
File without changes
@@ -88,18 +88,35 @@ module CoberturaXmlMerger
88
88
  end
89
89
 
90
90
  package2.css('class').each do |klass|
91
+ lines = klasses.delete(klass['filename'])
91
92
  klass.css('line').each do |line|
92
- lines = klasses[klass['filename']]
93
+ next unless lines
94
+
93
95
  begin
94
96
  line['hits'] = lines[line['number']] + line['hits'].to_i
95
97
  rescue => e
96
- puts "error matching #{klass['filename']} line #{line['number']}" if @verbose
98
+ puts e.message
99
+ puts "error matching #{klass['filename']} line #{line['number']}"
97
100
  puts lines.inspect if @verbose
101
+ puts line.inspect if @verbose
102
+
98
103
  throw e
99
104
  end
100
105
  end
101
106
  end
102
107
 
108
+ # This is a hacky way to keep lines from first xml that don't appear in second xml
109
+ unless klasses.empty?
110
+ klasses.each do |klass, lines|
111
+ klass_name = klass.split('/').last.split('.').first
112
+ line_nodes = lines.map do |number, hits|
113
+ "<line number='#{number}' branch='false' hits='#{hits}'/>"
114
+ end.join("\n")
115
+ new_class_node = "<class name='#{klass_name}' filename='#{klass}'>#{line_nodes}</class>"
116
+ package2.css('class').last.add_next_sibling(new_class_node)
117
+ end
118
+ end
119
+
103
120
  package2
104
121
  end
105
122
 
@@ -1,3 +1,3 @@
1
1
  module CoberturaXmlMerger
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cobertura_xml_merger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Germán Castañeda Echevarría
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-26 00:00:00.000000000 Z
11
+ date: 2016-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 5.9.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 5.9.1
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: nokogiri
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -61,6 +75,7 @@ extensions: []
61
75
  extra_rdoc_files: []
62
76
  files:
63
77
  - ".gitignore"
78
+ - ".travis.yml"
64
79
  - Gemfile
65
80
  - LICENSE
66
81
  - README.md