diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e3704e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +coverage +Gemfile.lock diff --git a/Gemfile b/Gemfile index aaabdf7..790808e 100644 --- a/Gemfile +++ b/Gemfile @@ -3,11 +3,5 @@ source 'https://rubygems.org' gemspec group :development do - gem "mocha", :require => false - # Use local copy of simplecov in development when checked out or fetch from git - if File.directory?(File.dirname(__FILE__) + '/../simplecov') - gem 'simplecov', :path => File.dirname(__FILE__) + '/../simplecov' - else - gem 'simplecov', :git => 'https://github.com/colszowka/simplecov' - end + gem "mocha", "~> 0.14", :require => false end diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index e3908c9..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,32 +0,0 @@ -GIT - remote: https://github.com/colszowka/simplecov - revision: d4ed33b3876fe6f1e808bed60e134e2f8adf6267 - specs: - simplecov (0.7.1) - multi_json (~> 1.0) - simplecov-html (~> 0.7.1) - -PATH - remote: . - specs: - simplecov-json (0.1.3) - json - simplecov - -GEM - remote: https://rubygems.org/ - specs: - json (1.7.7) - metaclass (0.0.1) - mocha (0.12.7) - metaclass (~> 0.0.1) - multi_json (1.3.6) - simplecov-html (0.7.1) - -PLATFORMS - ruby - -DEPENDENCIES - mocha - simplecov! - simplecov-json! diff --git a/README.md b/README.md index 97d0f66..46c10b9 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,8 @@ -simplecov-json -============== +# simplecov-json -JSON formatter for the ruby 1.9+ coverage gem SimpleCov +JSON formatter for the ruby 1.9+ code coverage gem SimpleCov -Usage ------ +## Usage 1. Add simplecov-json to your `Gemfile` and `bundle install`: @@ -15,8 +13,7 @@ Usage require 'simplecov-json' SimpleCov.formatter = SimpleCov::Formatter::JSONFormatter -Result ------- +## Result Generated JSON can be found in coverage/coverage.json @@ -28,17 +25,20 @@ The format you can expect is: "files": [ { "filename": "/home/user/rails/environment.rb", + "covered_percent": 50.0, "coverage": [ null, 1, null, null, 1 - ] + ], + "covered_strength": 0.50, + "covered_lines": 2, + "lines_of_code": 4 }, ... ], - "groups": {}, "metrics": { "covered_percent": 81.70731707317073, "covered_strength": 0.8170731707317073, @@ -47,6 +47,17 @@ The format you can expect is: } } +## Making Contributions + +If you want to contribute, please: + + * Fork the project. + * Make your feature addition or bug fix. + * Add tests for it. This is important so I don't break it in a future version unintentionally. + * Send me a pull request on Github. + * Check that travis build passes for your pull request. + + ## Copyright -Copyright (c) 2012 Vicent Llongo. See LICENSE for details. +Copyright (c) 2013 Vicent Llongo. See LICENSE for details. diff --git a/simplecov-json.gemspec b/simplecov-json.gemspec index 2ef84f8..bb59a7c 100644 --- a/simplecov-json.gemspec +++ b/simplecov-json.gemspec @@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__) Gem::Specification.new do |s| s.name = "simplecov-json" - s.version = '0.1.3' + s.version = '0.2' s.platform = Gem::Platform::RUBY s.authors = ["Vicent Llongo"] s.email = ["villosil@gmail.com"] diff --git a/test/test_simplecov_json.rb b/test/test_simplecov_json.rb index 0de7954..5be6727 100644 --- a/test/test_simplecov_json.rb +++ b/test/test_simplecov_json.rb @@ -16,27 +16,24 @@ class TestSimpleCovHtml < Test::Unit::TestCase barLineList = mock() barLineList.expects(:count).returns(5) - foo.expects(:filename).returns('/lib/foo.rb') - foo.expects(:filename).returns('/lib/foo.rb') + foo.expects(:filename).twice.returns('/lib/foo.rb') foo.expects(:covered_percent).returns(50.0) foo.expects(:coverage).returns([1, nil, 0, 0, nil, 1, nil]) - foo.expects(:covered_strength).returns(0.50) + foo.expects(:covered_strength).twice.returns(0.50) foo.expects(:covered_lines).returns(fooLineList) foo.expects(:lines_of_code).returns(4) - bar.expects(:filename).returns('/lib/bar.rb') - bar.expects(:filename).returns('/lib/bar.rb') + bar.expects(:filename).twice.returns('/lib/bar.rb') bar.expects(:covered_percent).returns(71.42) bar.expects(:coverage).returns([nil, 1, nil, 1, 1, 1, 0, 0, nil, 1, nil]) - bar.expects(:covered_strength).returns(0.71) + bar.expects(:covered_strength).twice.returns(0.71) bar.expects(:covered_lines).returns(barLineList) bar.expects(:lines_of_code).returns(7) result.expects(:files).returns([foo, bar]) - result.expects(:filenames).returns(['/lib/foo.rb', '/lib/bar.rb']) - result.expects(:filenames).returns(['/lib/foo.rb', '/lib/bar.rb']) + result.expects(:filenames).twice.returns(['/lib/foo.rb', '/lib/bar.rb']) result.expects(:covered_percent).returns(73.33) - result.expects(:covered_strength).returns(0.87) + result.expects(:covered_strength).twice.returns(0.87) result.expects(:covered_lines).returns(11) result.expects(:total_lines).returns(15) @@ -46,12 +43,12 @@ class TestSimpleCovHtml < Test::Unit::TestCase result.expects(:covered_percent).returns(73.33) -# filename -# covered_percent -# coverage -# covered_strength -# covered_lines -# lines_of_code + # filename + # covered_percent + # coverage + # covered_strength + # covered_lines + # lines_of_code assert_equal(formatter.format(result), { 'timestamp' => created_at.to_i, 'command_name' => 'RSpec',