simplecov-markdown 0.2.0 → 1.0.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
- SHA1:
3
- metadata.gz: e0207d59884b631bfc6107b33d21a6ad25d60b0b
4
- data.tar.gz: b76bcd574facf30150c39f7a4d8cc3322fb4e5b9
2
+ SHA256:
3
+ metadata.gz: 4ee812d070b98156101ee6b0186a3b6a11ae67325a3f593894fdf9036b702ac0
4
+ data.tar.gz: 65aa27e39c12f6916b4a3144eeab39bad45a4903d1273b3321c79a4a0700652f
5
5
  SHA512:
6
- metadata.gz: 1a914736f43aaf0b3bea518c6e44b3f5189d56657e9b07a2bf8ed4d1470ecfba7ef0e85cdc28785746e2d48e099b8983cc3873bff0f6c3d476153607e83be881
7
- data.tar.gz: 6269d2d8f0927418e863034f93fbf55d08903ce6f7466db83da585683793f3db85bc67eaa7e51185981ea6e44de08cfcd0a440c63d75873cf6909a5d3699d06a
6
+ metadata.gz: 1a026ad0b6128b40e366928d33961dab0a068ab9d0f2c1f15cac7c304c38263a898aa8a97d4ace3abdb8414d7d7d192dfc9f80ed446793641d04a331c72c4491
7
+ data.tar.gz: 93fbdfd1da279271c15bae0bff46b45a8dbf35884640a91a55324c5be838642b0621c7502a834e6ed1071297dcd965710d5db10fcdf9155705576132bc4ab31e
@@ -0,0 +1,26 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['3.2', '3.3', '4.0']
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Set up Ruby ${{ matrix.ruby-version }}
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby-version }}
23
+ bundler-cache: true
24
+
25
+ - name: Run tests
26
+ run: bundle exec rspec
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 4.0.1
data/Gemfile.lock CHANGED
@@ -1,64 +1,74 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- simplecov-markdown (0.2.0)
4
+ simplecov-markdown (1.0.0)
5
5
  simplecov
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  ansi (1.5.0)
11
- coveralls (0.8.15)
12
- json (>= 1.8, < 3)
13
- simplecov (~> 0.12.0)
14
- term-ansicolor (~> 1.3)
15
- thor (~> 0.19.1)
16
- tins (>= 1.6.0, < 2)
17
- diff-lcs (1.2.5)
18
- docile (1.1.5)
19
- hirb (0.7.3)
20
- json (2.0.2)
21
- rake (10.5.0)
22
- rspec (3.5.0)
23
- rspec-core (~> 3.5.0)
24
- rspec-expectations (~> 3.5.0)
25
- rspec-mocks (~> 3.5.0)
26
- rspec-core (3.5.3)
27
- rspec-support (~> 3.5.0)
28
- rspec-expectations (3.5.0)
11
+ diff-lcs (1.6.2)
12
+ docile (1.4.1)
13
+ rake (13.3.1)
14
+ rspec (3.13.2)
15
+ rspec-core (~> 3.13.0)
16
+ rspec-expectations (~> 3.13.0)
17
+ rspec-mocks (~> 3.13.0)
18
+ rspec-core (3.13.6)
19
+ rspec-support (~> 3.13.0)
20
+ rspec-expectations (3.13.5)
29
21
  diff-lcs (>= 1.2.0, < 2.0)
30
- rspec-support (~> 3.5.0)
31
- rspec-mocks (3.5.0)
22
+ rspec-support (~> 3.13.0)
23
+ rspec-mocks (3.13.8)
32
24
  diff-lcs (>= 1.2.0, < 2.0)
33
- rspec-support (~> 3.5.0)
34
- rspec-support (3.5.0)
35
- rspec-temp_dir (0.0.4)
36
- rspec
37
- simplecov (0.12.0)
38
- docile (~> 1.1.0)
39
- json (>= 1.8, < 3)
40
- simplecov-html (~> 0.10.0)
41
- simplecov-console (0.3.1)
25
+ rspec-support (~> 3.13.0)
26
+ rspec-support (3.13.7)
27
+ simplecov (0.22.0)
28
+ docile (~> 1.1)
29
+ simplecov-html (~> 0.11)
30
+ simplecov_json_formatter (~> 0.1)
31
+ simplecov-console (0.9.5)
42
32
  ansi
43
- hirb
44
33
  simplecov
45
- simplecov-html (0.10.0)
46
- term-ansicolor (1.3.2)
47
- tins (~> 1.0)
48
- thor (0.19.1)
49
- tins (1.12.0)
34
+ terminal-table
35
+ simplecov-html (0.13.2)
36
+ simplecov_json_formatter (0.1.4)
37
+ terminal-table (4.0.0)
38
+ unicode-display_width (>= 1.1.1, < 4)
39
+ unicode-display_width (3.2.0)
40
+ unicode-emoji (~> 4.1)
41
+ unicode-emoji (4.2.0)
50
42
 
51
43
  PLATFORMS
44
+ arm64-darwin-25
52
45
  ruby
53
46
 
54
47
  DEPENDENCIES
55
- bundler (~> 1.0)
56
- coveralls
57
- rake (~> 10.0)
48
+ bundler (>= 2.0)
49
+ rake (>= 10.0)
58
50
  rspec
59
- rspec-temp_dir (~> 0.0.3)
60
51
  simplecov-console
61
52
  simplecov-markdown!
62
53
 
54
+ CHECKSUMS
55
+ ansi (1.5.0) sha256=5408253274e33d9d27d4a98c46d2998266fd51cba58a7eb9d08f50e57ed23592
56
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
57
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
58
+ rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
59
+ rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
60
+ rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
61
+ rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
62
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
63
+ rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
64
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
65
+ simplecov-console (0.9.5) sha256=b1108bcfff5f210143e2b8301698c367b01586f20d25a73e95475a5df6fc6ff6
66
+ simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
67
+ simplecov-markdown (1.0.0)
68
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
69
+ terminal-table (4.0.0) sha256=f504793203f8251b2ea7c7068333053f0beeea26093ec9962e62ea79f94301d2
70
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
71
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
72
+
63
73
  BUNDLED WITH
64
- 1.12.5
74
+ 4.0.5
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  SimpleCov Markdown Formatter
2
2
  ==================================
3
3
 
4
- [![Gem Version](https://badge.fury.io/rb/simplecov-markdown.svg)](http://badge.fury.io/rb/simplecov-markdown)
5
- [![Build Status](https://travis-ci.org/holyshared/simplecov-markdown.svg?branch=master)](https://travis-ci.org/holyshared/simplecov-markdown)
6
- [![Coverage Status](https://coveralls.io/repos/holyshared/simplecov-markdown/badge.png)](https://coveralls.io/r/holyshared/simplecov-markdown)
7
- [![Code Climate](https://codeclimate.com/github/holyshared/simplecov-markdown/badges/gpa.svg)](https://codeclimate.com/github/holyshared/simplecov-markdown)
4
+ [![Gem Version](https://badge.fury.io/rb/simplecov-markdown.svg)](https://badge.fury.io/rb/simplecov-markdown)
5
+ [![CI](https://github.com/renuo/simplecov-markdown/actions/workflows/ci.yml/badge.svg)](https://github.com/renuo/simplecov-markdown/actions/workflows/ci.yml)
8
6
 
9
7
  Install
10
8
  ----------------------------
@@ -15,6 +13,6 @@ Usage
15
13
  ----------------------------
16
14
 
17
15
  ```ruby
18
- require 'simplecov-csv'
16
+ require 'simplecov-markdown'
19
17
  SimpleCov.formatter = SimpleCov::Formatter::MarkdownFormatter
20
18
  ```
@@ -1,7 +1,7 @@
1
1
  module SimpleCov
2
2
  module Formatter
3
3
  class MarkdownFormatter
4
- VERSION = "0.2.0"
4
+ VERSION = "1.0.0"
5
5
  end
6
6
  end
7
7
  end
@@ -8,6 +8,7 @@ class SimpleCov::Formatter::MarkdownFormatter
8
8
  report_writer.write_result(result)
9
9
  report_writer.destroy!
10
10
  end
11
+
11
12
  def self.output_path
12
13
  File.join(SimpleCov.coverage_path, 'report.md')
13
14
  end
@@ -34,13 +35,14 @@ class SimpleCov::Formatter::MarkdownFormatter
34
35
 
35
36
  def write_result(result)
36
37
  @table_writer.write_header
37
- result.files.each do |file|
38
+ result.files.sort_by(&:covered_percent).each do |file|
39
+ missing_lines = file.missed_lines.map(&:line_number).join(", ")
38
40
  @table_writer.write_record(
39
- file.filename,
40
41
  file.covered_percent.round(2).to_s + "%",
41
- file.covered_lines.size,
42
+ file.filename,
43
+ file.lines_of_code,
42
44
  file.missed_lines.size,
43
- file.lines_of_code
45
+ missing_lines
44
46
  )
45
47
  end
46
48
  @table_writer.destroy!
@@ -57,20 +59,20 @@ class SimpleCov::Formatter::MarkdownFormatter
57
59
 
58
60
  def initialize(report)
59
61
  @report = report
60
- @columns_headers = ["File", "Coverage", "Covered", "Missed", "Total"]
61
- @columns_header_aligns = [:left, :right, :right, :right, :right]
62
+ @columns_headers = ["Coverage", "File", "Total lines", "Total missed", "Missing line numbers"]
63
+ @columns_header_aligns = [:right, :left, :right, :right, :left]
62
64
  end
63
65
 
64
66
  def write_header
65
67
  write_values @columns_headers
66
68
  headers = @columns_header_aligns.map do |align|
67
69
  case align
68
- when :left
69
- ":--"
70
- when :right
71
- "--:"
72
- else
73
- "--"
70
+ when :left
71
+ ":--"
72
+ when :right
73
+ "--:"
74
+ else
75
+ "--"
74
76
  end
75
77
  end
76
78
  write_values headers
@@ -6,11 +6,11 @@ require 'simplecov-markdown/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "simplecov-markdown"
8
8
  spec.version = SimpleCov::Formatter::MarkdownFormatter::VERSION
9
- spec.authors = ["Noritaka Horio"]
10
- spec.email = ["holy.shared.design@gmail.com"]
9
+ spec.authors = ["Alessandro Rodi"]
10
+ spec.email = ["alessandro.rodi@renuo.ch"]
11
11
  spec.summary = "Markdown formatter for simplecov"
12
12
  spec.description = "Markdown formatter for simplecov"
13
- spec.homepage = "https://github.com/holyshared/simplecov-markdown"
13
+ spec.homepage = "https://github.com/renuo/simplecov-markdown"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
@@ -20,10 +20,8 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency 'simplecov'
22
22
 
23
- spec.add_development_dependency "rspec-temp_dir", "~> 0.0.3"
24
- spec.add_development_dependency "bundler", "~> 1.0"
25
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "bundler", ">= 2.0"
24
+ spec.add_development_dependency "rake", ">= 10.0"
26
25
  spec.add_development_dependency "rspec"
27
- spec.add_development_dependency "coveralls"
28
26
  spec.add_development_dependency "simplecov-console"
29
27
  end
@@ -0,0 +1,11 @@
1
+ Code Coverage Report
2
+ ====================
3
+
4
+ Project name: <%= project_name %>
5
+ Created at: <%= created_at %>
6
+
7
+ |Coverage|File|Total lines|Total missed|Missing line numbers|
8
+ |--:|:--|--:|--:|:--|
9
+ |62.5%|<%= root_directory %>/fixtures/sample3.rb|8|3|8, 12, 13|
10
+ |80.0%|<%= root_directory %>/fixtures/sample2.rb|5|1|8|
11
+ |100.0%|<%= root_directory %>/fixtures/sample1.rb|5|0||
@@ -0,0 +1,14 @@
1
+ # Sample3 class
2
+ class Sample3
3
+ def initialize
4
+ @foo = 'baz'
5
+ end
6
+
7
+ def bar
8
+ @foo
9
+ end
10
+
11
+ def baz
12
+ @foo + 'baz'
13
+ end
14
+ end
@@ -1,38 +1,41 @@
1
1
  require 'simplecov'
2
2
  require 'erb'
3
- require 'rspec/temp_dir'
4
3
 
5
- describe 'MarkdownFormatter' do
6
- include_context "uses temp dir"
4
+ RSpec.describe 'MarkdownFormatter' do
5
+ let(:report_path) { File.expand_path('../../tmp/report.md', __FILE__) }
7
6
 
8
7
  let(:formatter) do
9
8
  allow(SimpleCov::Formatter::MarkdownFormatter).to receive(:output_path).and_return(report_path)
10
9
  SimpleCov::Formatter::MarkdownFormatter.new
11
10
  end
12
- let(:report_path) { File.join(temp_dir_path, 'report.md') }
13
- let(:expect_report) do
11
+
12
+ let(:expected_report) do
14
13
  root_directory = File.dirname(__FILE__)
15
14
  project_name = SimpleCov.project_name
16
15
  created_at = result.created_at
17
- erb_script = File.open(File.join(File.dirname(__FILE__), 'fixtures/report.md.erb')).read
16
+ erb_script = File.open(File.join(File.dirname(__FILE__), 'fixtures/expected_report.md.erb')).read
18
17
  ERB.new(erb_script).result(binding)
19
18
  end
20
19
  let(:result) do
21
20
  sample1 = File.join(File.dirname(__FILE__), 'fixtures', 'sample1.rb')
22
21
  sample2 = File.join(File.dirname(__FILE__), 'fixtures', 'sample2.rb')
22
+ sample3 = File.join(File.dirname(__FILE__), 'fixtures', 'sample3.rb')
23
23
 
24
24
  original_result = {
25
- sample1 => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil],
26
- sample2 => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil]
25
+ sample1 => { "lines" => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil] },
26
+ sample2 => { "lines" => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil] },
27
+ sample3 => { "lines" => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil, 1, 0, 0, nil] }
27
28
  }
28
29
  SimpleCov::Result.new(original_result)
29
30
  end
30
31
 
32
+ before { FileUtils.mkdir_p(File.dirname(report_path)) }
33
+
31
34
  describe '#result' do
32
35
  it 'format by markdown' do
33
36
  formatter.format(result)
34
37
  actual_report = File.open(report_path).read
35
- expect(actual_report).to be_eql(expect_report)
38
+ expect(actual_report).to eq(expected_report)
36
39
  end
37
40
  end
38
41
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplecov-markdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Noritaka Horio
8
- autorequire:
7
+ - Alessandro Rodi
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2016-09-20 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: simplecov
@@ -24,46 +23,32 @@ dependencies:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
25
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec-temp_dir
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.0.3
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.0.3
41
26
  - !ruby/object:Gem::Dependency
42
27
  name: bundler
43
28
  requirement: !ruby/object:Gem::Requirement
44
29
  requirements:
45
- - - "~>"
30
+ - - ">="
46
31
  - !ruby/object:Gem::Version
47
- version: '1.0'
32
+ version: '2.0'
48
33
  type: :development
49
34
  prerelease: false
50
35
  version_requirements: !ruby/object:Gem::Requirement
51
36
  requirements:
52
- - - "~>"
37
+ - - ">="
53
38
  - !ruby/object:Gem::Version
54
- version: '1.0'
39
+ version: '2.0'
55
40
  - !ruby/object:Gem::Dependency
56
41
  name: rake
57
42
  requirement: !ruby/object:Gem::Requirement
58
43
  requirements:
59
- - - "~>"
44
+ - - ">="
60
45
  - !ruby/object:Gem::Version
61
46
  version: '10.0'
62
47
  type: :development
63
48
  prerelease: false
64
49
  version_requirements: !ruby/object:Gem::Requirement
65
50
  requirements:
66
- - - "~>"
51
+ - - ">="
67
52
  - !ruby/object:Gem::Version
68
53
  version: '10.0'
69
54
  - !ruby/object:Gem::Dependency
@@ -80,20 +65,6 @@ dependencies:
80
65
  - - ">="
81
66
  - !ruby/object:Gem::Version
82
67
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: coveralls
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
68
  - !ruby/object:Gem::Dependency
98
69
  name: simplecov-console
99
70
  requirement: !ruby/object:Gem::Requirement
@@ -110,14 +81,16 @@ dependencies:
110
81
  version: '0'
111
82
  description: Markdown formatter for simplecov
112
83
  email:
113
- - holy.shared.design@gmail.com
84
+ - alessandro.rodi@renuo.ch
114
85
  executables: []
115
86
  extensions: []
116
87
  extra_rdoc_files: []
117
88
  files:
118
89
  - ".coveralls.yml"
90
+ - ".github/workflows/ci.yml"
119
91
  - ".gitignore"
120
92
  - ".rspec"
93
+ - ".ruby-version"
121
94
  - ".travis.yml"
122
95
  - Gemfile
123
96
  - Gemfile.lock
@@ -127,16 +100,16 @@ files:
127
100
  - lib/simplecov-markdown.rb
128
101
  - lib/simplecov-markdown/version.rb
129
102
  - simplecov-markdown.gemspec
130
- - spec/fixtures/report.md.erb
103
+ - spec/fixtures/expected_report.md.erb
131
104
  - spec/fixtures/sample1.rb
132
105
  - spec/fixtures/sample2.rb
106
+ - spec/fixtures/sample3.rb
133
107
  - spec/simplecov-markdown_spec.rb
134
108
  - spec/spec_helper.rb
135
- homepage: https://github.com/holyshared/simplecov-markdown
109
+ homepage: https://github.com/renuo/simplecov-markdown
136
110
  licenses:
137
111
  - MIT
138
112
  metadata: {}
139
- post_install_message:
140
113
  rdoc_options: []
141
114
  require_paths:
142
115
  - lib
@@ -151,14 +124,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
124
  - !ruby/object:Gem::Version
152
125
  version: '0'
153
126
  requirements: []
154
- rubyforge_project:
155
- rubygems_version: 2.5.1
156
- signing_key:
127
+ rubygems_version: 4.0.3
157
128
  specification_version: 4
158
129
  summary: Markdown formatter for simplecov
159
130
  test_files:
160
- - spec/fixtures/report.md.erb
131
+ - spec/fixtures/expected_report.md.erb
161
132
  - spec/fixtures/sample1.rb
162
133
  - spec/fixtures/sample2.rb
134
+ - spec/fixtures/sample3.rb
163
135
  - spec/simplecov-markdown_spec.rb
164
136
  - spec/spec_helper.rb
@@ -1,10 +0,0 @@
1
- Code Coverage Report
2
- ====================
3
-
4
- Project name: <%= project_name %>
5
- Created at: <%= created_at %>
6
-
7
- |File|Coverage|Covered|Missed|Total|
8
- |:--|--:|--:|--:|--:|
9
- |<%= root_directory %>/fixtures/sample1.rb|100.0%|5|0|5|
10
- |<%= root_directory %>/fixtures/sample2.rb|80.0%|4|1|5|