simplecov-sublime-ruby-coverage 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.
- data/Manifest +13 -0
- data/README.md +29 -0
- data/Rakefile +13 -0
- data/lib/simplecov-sublime-ruby-coverage.rb +45 -0
- data/simplecov-sublime-ruby-coverage.gemspec +33 -0
- data/test/fixtures/app/controllers/sample_controller.rb +10 -0
- data/test/fixtures/app/models/user.rb +10 -0
- data/test/fixtures/sample.rb +10 -0
- data/test/fixtures/test-fixtures-app-controllers-sample_controller_rb.csv +10 -0
- data/test/fixtures/test-fixtures-app-models-user_rb.csv +10 -0
- data/test/fixtures/test-fixtures-sample_rb.csv +10 -0
- data/test/helper.rb +11 -0
- data/test/simplecov-sublime-ruby-coverage_test.rb +26 -0
- metadata +82 -0
data/Manifest
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
Manifest
|
2
|
+
README.md
|
3
|
+
Rakefile
|
4
|
+
lib/simplecov-sublime-ruby-coverage.rb
|
5
|
+
simplecov-sublime-ruby-coverage.gemspec
|
6
|
+
test/fixtures/app/controllers/sample_controller.rb
|
7
|
+
test/fixtures/app/models/user.rb
|
8
|
+
test/fixtures/sample.rb
|
9
|
+
test/fixtures/test-fixtures-app-controllers-sample_controller_rb.csv
|
10
|
+
test/fixtures/test-fixtures-app-models-user_rb.csv
|
11
|
+
test/fixtures/test-fixtures-sample_rb.csv
|
12
|
+
test/helper.rb
|
13
|
+
test/simplecov-sublime-ruby-coverage_test.rb
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
SimpleCov Sublime Ruby Coverage Formatter gem
|
2
|
+
=============================================
|
3
|
+
|
4
|
+
Is a formatter for the ruby 1.9+ coverage gem: [SimpleCov](http://github.com/colszowka/simplecov) to work with the [Ruby Coverage Formatter](http://github.com/integrum/SublimeRubyCoverage) plugin for Sublime 2
|
5
|
+
|
6
|
+
Install
|
7
|
+
=======
|
8
|
+
|
9
|
+
$ [sudo] gem install simplecov-sublime-ruby-coverage
|
10
|
+
|
11
|
+
Usage
|
12
|
+
=====
|
13
|
+
|
14
|
+
require 'simplecov-sublime-ruby-coverage'
|
15
|
+
SimpleCov.formatter = SimpleCov::Formatter::SublimeRubyCoverageFormatter
|
16
|
+
|
17
|
+
TODO
|
18
|
+
====
|
19
|
+
|
20
|
+
The actual version generates many simple text files, one for every source file.
|
21
|
+
|
22
|
+
Credits
|
23
|
+
=======
|
24
|
+
|
25
|
+
**Authors** Drew LeSueur, Jade Meskill and Roy van de Water: http://integrumtech.com
|
26
|
+
**Copyright** Copyright (c) 2012 Integrum Technologies, LLC
|
27
|
+
**License** Released under the MIT license.
|
28
|
+
**Originally Forked From** http://github.com/fguillen/simplecov-csv
|
29
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
require 'echoe'
|
4
|
+
|
5
|
+
Echoe.new('simplecov-sublime-ruby-coverage', '1.0.0') do |p|
|
6
|
+
p.description = "Sublime Ruby Coverage formatter for SimpleCov"
|
7
|
+
p.url = "http://github.com/integrum/simplecov-sublime-ruby-coverage"
|
8
|
+
p.author = "Integrum Dudes http://integrumtech.com"
|
9
|
+
p.email = "everyone+github@integrumtech.com"
|
10
|
+
p.ignore_pattern = ["tmp/*", "script/*"]
|
11
|
+
p.development_dependencies = []
|
12
|
+
p.runtime_dependencies = ['simplecov']
|
13
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'pathname'
|
3
|
+
|
4
|
+
class SimpleCov::Formatter::SublimeRubyCoverageFormatter
|
5
|
+
|
6
|
+
def format(result)
|
7
|
+
|
8
|
+
@path_relativizer = Hash.new{|h,base|
|
9
|
+
h[base] = Pathname.new(base).cleanpath.to_s.gsub(%r{^\w:[/\\]}, "").gsub(/\./, "_").gsub(/[\\\/]/, "-") + ".csv"
|
10
|
+
}
|
11
|
+
|
12
|
+
FileUtils.mkdir_p output_path
|
13
|
+
|
14
|
+
result.files.each do |file|
|
15
|
+
data = []
|
16
|
+
|
17
|
+
file.lines.each do |line|
|
18
|
+
data << ((line.covered? || line.status == 'never') ? '1' : '0')
|
19
|
+
end
|
20
|
+
|
21
|
+
csv = data.join("\n")
|
22
|
+
|
23
|
+
result_file_path = File.join(output_path, relative_filename(shortened_filename(file)))
|
24
|
+
File.open(result_file_path, "w") do |file_result|
|
25
|
+
file_result.write csv
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
puts "Coverage report generated for #{result.command_name} to #{output_path}"
|
30
|
+
end
|
31
|
+
|
32
|
+
def output_path
|
33
|
+
File.join SimpleCov.coverage_path, 'sublime-ruby-coverage'
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def relative_filename(path)
|
39
|
+
@path_relativizer[path]
|
40
|
+
end
|
41
|
+
|
42
|
+
def shortened_filename(source_file)
|
43
|
+
source_file.filename.gsub(SimpleCov.root, '.')
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = "simplecov-sublime-ruby-coverage"
|
5
|
+
s.version = "1.0.0"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Integrum Dudes http://integrumtech.com"]
|
9
|
+
s.date = "2012-09-24"
|
10
|
+
s.description = "Sublime Ruby Coverage formatter for SimpleCov"
|
11
|
+
s.email = "everyone+github@integrumtech.com"
|
12
|
+
s.extra_rdoc_files = ["README.md", "lib/simplecov-sublime-ruby-coverage.rb"]
|
13
|
+
s.files = ["README.md", "Rakefile", "lib/simplecov-sublime-ruby-coverage.rb", "simplecov-sublime-ruby-coverage.gemspec", "test/fixtures/app/controllers/sample_controller.rb", "test/fixtures/app/models/user.rb", "test/fixtures/sample.rb", "test/fixtures/test-fixtures-app-controllers-sample_controller_rb.csv", "test/fixtures/test-fixtures-app-models-user_rb.csv", "test/fixtures/test-fixtures-sample_rb.csv", "test/helper.rb", "test/simplecov-sublime-ruby-coverage_test.rb", "Manifest"]
|
14
|
+
s.homepage = "http://github.com/integrum/simplecov-sublime-ruby-coverage"
|
15
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Simplecov-sublime-ruby-coverage", "--main", "README.md"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.rubyforge_project = "simplecov-sublime-ruby-coverage"
|
18
|
+
s.rubygems_version = "1.8.24"
|
19
|
+
s.summary = "Sublime Ruby Coverage formatter for SimpleCov"
|
20
|
+
s.test_files = ["test/simplecov-sublime-ruby-coverage_test.rb"]
|
21
|
+
|
22
|
+
if s.respond_to? :specification_version then
|
23
|
+
s.specification_version = 3
|
24
|
+
|
25
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
26
|
+
s.add_runtime_dependency(%q<simplecov>, [">= 0"])
|
27
|
+
else
|
28
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
29
|
+
end
|
30
|
+
else
|
31
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
32
|
+
end
|
33
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'test/unit'
|
3
|
+
require 'mocha'
|
4
|
+
require 'simplecov'
|
5
|
+
|
6
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
7
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
8
|
+
require 'simplecov-sublime-ruby-coverage'
|
9
|
+
|
10
|
+
class Test::Unit::TestCase
|
11
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require "#{File.dirname(__FILE__)}/helper"
|
2
|
+
|
3
|
+
class SimplecovSublimeRubyCoverageFormatterTest < Test::Unit::TestCase
|
4
|
+
def test_format
|
5
|
+
SimpleCov.stubs(:coverage_path).returns("/tmp")
|
6
|
+
|
7
|
+
@original_result = {
|
8
|
+
File.join(fixtures_path, 'sample.rb') => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil],
|
9
|
+
File.join(fixtures_path, 'app/models/user.rb') => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
|
10
|
+
File.join(fixtures_path, 'app/controllers/sample_controller.rb') => [nil, 1, 1, 1, nil, nil, 0, 0, nil, nil]
|
11
|
+
}
|
12
|
+
|
13
|
+
@result = SimpleCov::Result.new(@original_result)
|
14
|
+
formatter = SimpleCov::Formatter::SublimeRubyCoverageFormatter.new()
|
15
|
+
formatter.format(@result)
|
16
|
+
|
17
|
+
Dir[File.join(formatter.output_path, '*')].each do |output_file_path|
|
18
|
+
fixture_path = File.join fixtures_path, File.basename(output_file_path)
|
19
|
+
assert FileUtils.compare_file(fixture_path, output_file_path)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def fixtures_path
|
24
|
+
File.expand_path(File.join(File.dirname(__FILE__), 'fixtures'))
|
25
|
+
end
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: simplecov-sublime-ruby-coverage
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Integrum Dudes http://integrumtech.com
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-09-24 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: simplecov
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
description: Sublime Ruby Coverage formatter for SimpleCov
|
31
|
+
email: everyone+github@integrumtech.com
|
32
|
+
executables: []
|
33
|
+
extensions: []
|
34
|
+
extra_rdoc_files:
|
35
|
+
- README.md
|
36
|
+
- lib/simplecov-sublime-ruby-coverage.rb
|
37
|
+
files:
|
38
|
+
- README.md
|
39
|
+
- Rakefile
|
40
|
+
- lib/simplecov-sublime-ruby-coverage.rb
|
41
|
+
- simplecov-sublime-ruby-coverage.gemspec
|
42
|
+
- test/fixtures/app/controllers/sample_controller.rb
|
43
|
+
- test/fixtures/app/models/user.rb
|
44
|
+
- test/fixtures/sample.rb
|
45
|
+
- test/fixtures/test-fixtures-app-controllers-sample_controller_rb.csv
|
46
|
+
- test/fixtures/test-fixtures-app-models-user_rb.csv
|
47
|
+
- test/fixtures/test-fixtures-sample_rb.csv
|
48
|
+
- test/helper.rb
|
49
|
+
- test/simplecov-sublime-ruby-coverage_test.rb
|
50
|
+
- Manifest
|
51
|
+
homepage: http://github.com/integrum/simplecov-sublime-ruby-coverage
|
52
|
+
licenses: []
|
53
|
+
post_install_message:
|
54
|
+
rdoc_options:
|
55
|
+
- --line-numbers
|
56
|
+
- --inline-source
|
57
|
+
- --title
|
58
|
+
- Simplecov-sublime-ruby-coverage
|
59
|
+
- --main
|
60
|
+
- README.md
|
61
|
+
require_paths:
|
62
|
+
- lib
|
63
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
71
|
+
requirements:
|
72
|
+
- - ! '>='
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '1.2'
|
75
|
+
requirements: []
|
76
|
+
rubyforge_project: simplecov-sublime-ruby-coverage
|
77
|
+
rubygems_version: 1.8.24
|
78
|
+
signing_key:
|
79
|
+
specification_version: 3
|
80
|
+
summary: Sublime Ruby Coverage formatter for SimpleCov
|
81
|
+
test_files:
|
82
|
+
- test/simplecov-sublime-ruby-coverage_test.rb
|