branchcov-xmlruby-sonar 0.0.0 → 0.0.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ruby_branch_cover.rb +44 -50
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a9fd78f1218ff3f8abf910d71cc4e6c354abb14a6dd9fe8a0d3d9d82ff43864
4
- data.tar.gz: 1faa96cc9976cee8ec14ce9c95284d94f0a0c412e2978dbfe96c473cb5c91956
3
+ metadata.gz: 7368f234f6b1c07d858e186d119503f6205d17bd16f2bc2348a9ae64598fb559
4
+ data.tar.gz: 1062cb2670c643e2f791de5b9a484fceecb8f6a5832eb3889656dc44ffc308f6
5
5
  SHA512:
6
- metadata.gz: 5d4105c79decb3d4d383d957d46db26e75908d5a1098a3cea43feda019acf44324abf703eb558a8b21a9d21e72b54638e823b2501fb1adce2d51d21d60f32564
7
- data.tar.gz: 829ab5c1c0f33f30fff97c93ff5c58f783b5b63b8c78a6c605f838bc02014286791cba4583fc8c111df63c96f9618ec36bcc5336c446f6bbc847fcbbe5f70c94
6
+ metadata.gz: c1885ceae407c4cbbea391fd70f78109d3827037007adfc53783b90372513516c05856d34192ec95828f188670e3561943a85926479c196d1c18374d3c28e4a6
7
+ data.tar.gz: 10292801e3df140db390ed314a1a808df478aa5866c63a97c0cca62bcf0baf24b5f55749f2fb737243bf1121fa6139644c6bfbcb19ee123fad4bccbf302265c0
@@ -4,36 +4,36 @@ require 'builder'
4
4
  class RubyBranchCover
5
5
 
6
6
  # To check line already present in list of lineToCover element
7
- def checkIfLineAlreadyPresent(lineNumber, lineToCoverElementList)
8
- lineToCoverElementList.each_with_index do
9
- |lineToCoverElement, idx|
10
- if lineToCoverElement[:lineNumber] == lineNumber
7
+ def check_for_duplicate_line(line_number, line_tocover_elements)
8
+ line_tocover_elements.each_with_index do
9
+ |element, idx|
10
+ if element[:lineNumber] == line_number
11
11
  return idx
12
12
  end
13
13
  end
14
14
  return -1
15
15
  end
16
16
 
17
- def findNotCoveredBranches(condtionsMap)
18
- notCovered = 0
19
- condtionsMap.each do
17
+ def find_notcovered_branches(condtions_map)
18
+ not_covered = 0
19
+ condtions_map.each do
20
20
  |condition, hitCount|
21
21
  if hitCount == 0
22
- notCovered+=1
22
+ not_covered+=1
23
23
  end
24
24
  end
25
- return notCovered
25
+ return not_covered
26
26
  end
27
27
 
28
- def prepareXmlBuilder(xml, fileElementArray)
28
+ def prepare_xml_builder(xml, file_elements)
29
29
  xml.coverage("version" => "1") do
30
- fileElementArray.each do
30
+ file_elements.each do
31
31
  |fileElement|
32
32
  xml.file("path" => fileElement[:path]) do
33
33
  fileElement[:lineElements].each do
34
- |lineToCoverElement|
35
- xml.lineToCover("lineNumber"=>lineToCoverElement[:lineNumber], "covered"=>lineToCoverElement[:covered],
36
- "branchesToCover"=>lineToCoverElement[:branchesToCover], "coveredBranches"=>lineToCoverElement[:coveredBranches])
34
+ |element|
35
+ xml.lineToCover("lineNumber"=>element[:lineNumber], "covered"=>element[:covered],
36
+ "branchesToCover"=>element[:branchesToCover], "coveredBranches"=>element[:coveredBranches])
37
37
  end
38
38
  end
39
39
  end
@@ -41,57 +41,51 @@ class RubyBranchCover
41
41
  end
42
42
 
43
43
 
44
- def readJsonAndGetXml
45
- dirname = File.basename(Dir.getwd)
46
- # puts dirname
47
- file = File.read('coverage/.resultset.json')
44
+ def read_json_and_getxml(filepath)
45
+ file = File.read(filepath)
48
46
  data_hash = JSON.parse(file)
49
-
50
- unless data_hash['RSpec'] == nil && data_hash['RSpec']['coverage'] == nil
51
- puts "Rspec and coverage key found"
47
+ file_elements = []
48
+ unless data_hash.empty? || data_hash['RSpec'] == nil || data_hash['RSpec']['coverage'] == nil
52
49
  files_map = data_hash['RSpec']['coverage']
53
- filename_key_list = files_map.keys
54
- fileElementArray = []
55
50
  files_map.each do
56
51
  |filename,value|
57
52
  branches = value['branches']
58
- # if filename == '/Users/mfv-computer-0090/projects/tax_adjustment_web/lib/pa_api/abstract_client.rb'
59
- # puts "branch size: #{branches.keys.size}"
60
- # end
61
- lineToCoverArray = []
53
+ line_to_cover_array = []
62
54
  unless branches.keys.size == 0
63
55
  branches.each do
64
- |branch, condtionsMap|
65
- lineNumber = branch.split(',')[2]
66
- notCovered = 0
67
- if filename == '/Users/mfv-computer-0090/projects/tax_adjustment_web/lib/pa_api/abstract_client.rb'
68
- puts "branch conditions size: #{condtionsMap.keys.size}"
69
- end
70
- notCovered = findNotCoveredBranches condtionsMap
71
- covered = condtionsMap.keys.size-notCovered
72
- lineToCoverElement = {lineNumber:lineNumber , covered: condtionsMap.keys.size == covered , branchesToCover: condtionsMap.keys.size, coveredBranches:condtionsMap.keys.size-notCovered}
73
- # if filename == '/Users/mfv-computer-0090/projects/tax_adjustment_web/lib/pa_api/abstract_client.rb'
74
- # puts "LineElement prepared: #{lineToCoverElement}"
75
- # end
76
- index = checkIfLineAlreadyPresent lineNumber, lineToCoverArray
56
+ |branch, condtions_map|
57
+ line_number = branch.split(',')[2].strip
58
+ not_covered = find_notcovered_branches condtions_map
59
+ covered = condtions_map.keys.size-not_covered
60
+ line_tocover_element = {lineNumber:line_number , covered: condtions_map.keys.size == covered , branchesToCover: condtions_map.keys.size, coveredBranches:covered}
61
+ index = check_for_duplicate_line line_number, line_to_cover_array
77
62
  if index != -1
78
- currentLineToCoverElement = lineToCoverArray[index]
79
- currentLineToCoverElement[:branchesToCover] = currentLineToCoverElement[:branchesToCover] + lineToCoverElement[:branchesToCover]
80
- currentLineToCoverElement[:coveredBranches] = currentLineToCoverElement[:coveredBranches] + lineToCoverElement[:coveredBranches]
81
- currentLineToCoverElement[:covered] = currentLineToCoverElement[:covered] && lineToCoverElement[:covered]
82
- lineToCoverArray[index] = currentLineToCoverElement
63
+ old_line_tocover_element = line_to_cover_array[index]
64
+ old_line_tocover_element[:branchesToCover] = old_line_tocover_element[:branchesToCover] + line_tocover_element[:branchesToCover]
65
+ old_line_tocover_element[:coveredBranches] = old_line_tocover_element[:coveredBranches] + line_tocover_element[:coveredBranches]
66
+ old_line_tocover_element[:covered] = old_line_tocover_element[:covered] && line_tocover_element[:covered]
67
+ line_to_cover_array[index] = old_line_tocover_element
83
68
  else
84
- lineToCoverArray.push(lineToCoverElement)
69
+ line_to_cover_array.push(line_tocover_element)
85
70
  end
86
71
  end
87
- fileElement = {path: filename, lineElements: lineToCoverArray}
88
- fileElementArray.push(fileElement)
72
+ file_element = {path: filename, lineElements: line_to_cover_array}
73
+ file_elements.push(file_element)
89
74
  end
90
75
  end
91
76
 
92
77
  xml = Builder::XmlMarkup.new(:target => @output, :indent => 2)
93
- prepareXmlBuilder xml, fileElementArray
94
- File.write("coverage/ruby-c1.xml", xml.to_xml)
78
+ puts "Total Files: #{file_elements.size}"
79
+ prepare_xml_builder xml, file_elements
80
+ File.write("coverage/branch-coverage.xml", xml.to_xml)
81
+ if file_elements.size > 0
82
+ return true
83
+ else
84
+ return false
85
+ end
86
+ else
87
+ return false
95
88
  end
89
+
96
90
  end
97
91
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: branchcov-xmlruby-sonar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Suganya