simplecov 0.6.4 → 0.17.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +378 -12
  3. data/CONTRIBUTING.md +51 -0
  4. data/ISSUE_TEMPLATE.md +23 -0
  5. data/LICENSE +1 -1
  6. data/README.md +456 -252
  7. data/doc/alternate-formatters.md +56 -0
  8. data/doc/commercial-services.md +20 -0
  9. data/doc/editor-integration.md +18 -0
  10. data/lib/simplecov.rb +223 -44
  11. data/lib/simplecov/command_guesser.rb +47 -35
  12. data/lib/simplecov/configuration.rb +281 -191
  13. data/lib/simplecov/defaults.rb +38 -43
  14. data/lib/simplecov/exit_codes.rb +10 -0
  15. data/lib/simplecov/file_list.rb +51 -34
  16. data/lib/simplecov/filter.rb +50 -3
  17. data/lib/simplecov/formatter.rb +4 -1
  18. data/lib/simplecov/formatter/multi_formatter.rb +34 -0
  19. data/lib/simplecov/formatter/simple_formatter.rb +18 -12
  20. data/lib/simplecov/jruby_fix.rb +44 -0
  21. data/lib/simplecov/last_run.rb +26 -0
  22. data/lib/simplecov/lines_classifier.rb +48 -0
  23. data/lib/simplecov/load_global_config.rb +8 -0
  24. data/lib/simplecov/no_defaults.rb +4 -0
  25. data/lib/simplecov/profiles.rb +33 -0
  26. data/lib/simplecov/profiles/bundler_filter.rb +5 -0
  27. data/lib/simplecov/profiles/hidden_filter.rb +5 -0
  28. data/lib/simplecov/profiles/rails.rb +18 -0
  29. data/lib/simplecov/profiles/root_filter.rb +10 -0
  30. data/lib/simplecov/profiles/test_frameworks.rb +8 -0
  31. data/lib/simplecov/railtie.rb +3 -1
  32. data/lib/simplecov/railties/tasks.rake +9 -7
  33. data/lib/simplecov/raw_coverage.rb +41 -0
  34. data/lib/simplecov/result.rb +17 -55
  35. data/lib/simplecov/result_merger.rb +100 -67
  36. data/lib/simplecov/source_file.rb +82 -67
  37. data/lib/simplecov/version.rb +4 -2
  38. metadata +153 -222
  39. data/.gitignore +0 -31
  40. data/.travis.yml +0 -15
  41. data/Appraisals +0 -8
  42. data/Gemfile +0 -5
  43. data/Rakefile +0 -19
  44. data/cucumber.yml +0 -13
  45. data/features/config_adapters.feature +0 -44
  46. data/features/config_autoload.feature +0 -46
  47. data/features/config_command_name.feature +0 -33
  48. data/features/config_coverage_dir.feature +0 -20
  49. data/features/config_deactivate_merging.feature +0 -42
  50. data/features/config_merge_timeout.feature +0 -39
  51. data/features/config_nocov_token.feature +0 -79
  52. data/features/config_project_name.feature +0 -27
  53. data/features/config_styles.feature +0 -93
  54. data/features/cucumber_basic.feature +0 -29
  55. data/features/merging_test_unit_and_rspec.feature +0 -44
  56. data/features/rspec_basic.feature +0 -31
  57. data/features/rspec_fails_on_initialization.feature +0 -14
  58. data/features/rspec_groups_and_filters_basic.feature +0 -29
  59. data/features/rspec_groups_and_filters_complex.feature +0 -35
  60. data/features/rspec_groups_using_filter_class.feature +0 -40
  61. data/features/rspec_without_simplecov.feature +0 -20
  62. data/features/skipping_code_blocks_manually.feature +0 -70
  63. data/features/step_definitions/html_steps.rb +0 -45
  64. data/features/step_definitions/simplecov_steps.rb +0 -66
  65. data/features/step_definitions/transformers.rb +0 -13
  66. data/features/step_definitions/web_steps.rb +0 -64
  67. data/features/support/env.rb +0 -26
  68. data/features/test_unit_basic.feature +0 -34
  69. data/features/test_unit_groups_and_filters_basic.feature +0 -29
  70. data/features/test_unit_groups_and_filters_complex.feature +0 -35
  71. data/features/test_unit_groups_using_filter_class.feature +0 -40
  72. data/features/test_unit_without_simplecov.feature +0 -20
  73. data/features/unicode_compatiblity.feature +0 -67
  74. data/gemfiles/multi_json-legacy.gemfile +0 -7
  75. data/gemfiles/multi_json-legacy.gemfile.lock +0 -85
  76. data/gemfiles/multi_json-new.gemfile +0 -7
  77. data/gemfiles/multi_json-new.gemfile.lock +0 -85
  78. data/lib/simplecov/adapters.rb +0 -29
  79. data/lib/simplecov/merge_helpers.rb +0 -39
  80. data/simplecov.gemspec +0 -29
  81. data/test/faked_project/Gemfile +0 -6
  82. data/test/faked_project/Rakefile +0 -8
  83. data/test/faked_project/cucumber.yml +0 -13
  84. data/test/faked_project/features/step_definitions/my_steps.rb +0 -23
  85. data/test/faked_project/features/support/env.rb +0 -12
  86. data/test/faked_project/features/test_stuff.feature +0 -6
  87. data/test/faked_project/lib/faked_project.rb +0 -11
  88. data/test/faked_project/lib/faked_project/framework_specific.rb +0 -18
  89. data/test/faked_project/lib/faked_project/meta_magic.rb +0 -24
  90. data/test/faked_project/lib/faked_project/some_class.rb +0 -29
  91. data/test/faked_project/spec/faked_spec.rb +0 -11
  92. data/test/faked_project/spec/meta_magic_spec.rb +0 -10
  93. data/test/faked_project/spec/some_class_spec.rb +0 -10
  94. data/test/faked_project/spec/spec_helper.rb +0 -15
  95. data/test/faked_project/test/faked_test.rb +0 -11
  96. data/test/faked_project/test/meta_magic_test.rb +0 -13
  97. data/test/faked_project/test/some_class_test.rb +0 -15
  98. data/test/faked_project/test/test_helper.rb +0 -16
  99. data/test/fixtures/app/controllers/sample_controller.rb +0 -10
  100. data/test/fixtures/app/models/user.rb +0 -10
  101. data/test/fixtures/deleted_source_sample.rb +0 -15
  102. data/test/fixtures/frameworks/rspec_bad.rb +0 -9
  103. data/test/fixtures/frameworks/rspec_good.rb +0 -9
  104. data/test/fixtures/frameworks/testunit_bad.rb +0 -9
  105. data/test/fixtures/frameworks/testunit_good.rb +0 -9
  106. data/test/fixtures/iso-8859.rb +0 -3
  107. data/test/fixtures/resultset1.rb +0 -4
  108. data/test/fixtures/resultset2.rb +0 -5
  109. data/test/fixtures/sample.rb +0 -16
  110. data/test/fixtures/utf-8.rb +0 -3
  111. data/test/helper.rb +0 -35
  112. data/test/shoulda_macros.rb +0 -29
  113. data/test/test_1_8_fallbacks.rb +0 -33
  114. data/test/test_command_guesser.rb +0 -21
  115. data/test/test_deleted_source.rb +0 -16
  116. data/test/test_file_list.rb +0 -24
  117. data/test/test_filters.rb +0 -80
  118. data/test/test_merge_helpers.rb +0 -107
  119. data/test/test_result.rb +0 -147
  120. data/test/test_return_codes.rb +0 -39
  121. data/test/test_source_file.rb +0 -95
  122. data/test/test_source_file_line.rb +0 -110
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SimpleCov
2
4
  #
3
5
  # Representation of a source file including it's coverage data, source code,
@@ -20,32 +22,33 @@ module SimpleCov
20
22
  attr_reader :skipped
21
23
 
22
24
  # Lets grab some fancy aliases, shall we?
23
- alias_method :source, :src
24
- alias_method :line, :line_number
25
- alias_method :number, :line_number
25
+ alias source src
26
+ alias line line_number
27
+ alias number line_number
26
28
 
27
29
  def initialize(src, line_number, coverage)
28
- raise ArgumentError, "Only String accepted for source" unless src.kind_of?(String)
29
- raise ArgumentError, "Only Fixnum accepted for line_number" unless line_number.kind_of?(Fixnum)
30
- raise ArgumentError, "Only Fixnum and nil accepted for coverage" unless coverage.kind_of?(Fixnum) or coverage.nil?
31
- @src, @line_number, @coverage = src, line_number, coverage
32
- @skipped = false
33
- @src.encode!('UTF-8', 'UTF-8', :invalid => :replace) if @src.respond_to?(:encode!)
30
+ raise ArgumentError, "Only String accepted for source" unless src.is_a?(String)
31
+ raise ArgumentError, "Only Integer accepted for line_number" unless line_number.is_a?(Integer)
32
+ raise ArgumentError, "Only Integer and nil accepted for coverage" unless coverage.is_a?(Integer) || coverage.nil?
33
+ @src = src
34
+ @line_number = line_number
35
+ @coverage = coverage
36
+ @skipped = false
34
37
  end
35
38
 
36
39
  # Returns true if this is a line that should have been covered, but was not
37
40
  def missed?
38
- not never? and not skipped? and coverage == 0
41
+ !never? && !skipped? && coverage.zero?
39
42
  end
40
43
 
41
44
  # Returns true if this is a line that has been covered
42
45
  def covered?
43
- not never? and not skipped? and coverage > 0
46
+ !never? && !skipped? && coverage > 0
44
47
  end
45
48
 
46
49
  # Returns true if this line is not relevant for coverage
47
50
  def never?
48
- not skipped? and coverage.nil?
51
+ !skipped? && coverage.nil?
49
52
  end
50
53
 
51
54
  # Flags this line as skipped
@@ -56,16 +59,16 @@ module SimpleCov
56
59
  # Returns true if this line was skipped, false otherwise. Lines are skipped if they are wrapped with
57
60
  # # :nocov: comment lines.
58
61
  def skipped?
59
- !!skipped
62
+ !!skipped
60
63
  end
61
64
 
62
65
  # The status of this line - either covered, missed, skipped or never. Useful i.e. for direct use
63
66
  # as a css class in report generation
64
67
  def status
65
- return 'skipped' if skipped?
66
- return 'never' if never?
67
- return 'missed' if missed?
68
- return 'covered' if covered?
68
+ return "skipped" if skipped?
69
+ return "never" if never?
70
+ return "missed" if missed?
71
+ return "covered" if covered?
69
72
  end
70
73
  end
71
74
 
@@ -73,116 +76,128 @@ module SimpleCov
73
76
  attr_reader :filename
74
77
  # The array of coverage data received from the Coverage.result
75
78
  attr_reader :coverage
76
- # The source code for this file. Aliased as :source
77
- attr_reader :src
78
- alias_method :source, :src
79
79
 
80
80
  def initialize(filename, coverage)
81
- @filename, @coverage = filename, coverage
82
- File.open(filename, "r:UTF-8") {|f| @src = f.readlines }
81
+ @filename = filename
82
+ @coverage = coverage
83
+ end
84
+
85
+ # The path to this source file relative to the projects directory
86
+ def project_filename
87
+ @filename.sub(Regexp.new("^#{Regexp.escape(SimpleCov.root)}"), "")
88
+ end
89
+
90
+ # The source code for this file. Aliased as :source
91
+ def src
92
+ # We intentionally read source code lazily to
93
+ # suppress reading unused source code.
94
+ @src ||= File.open(filename, "rb", &:readlines)
83
95
  end
96
+ alias source src
84
97
 
85
98
  # Returns all source lines for this file as instances of SimpleCov::SourceFile::Line,
86
99
  # and thus including coverage data. Aliased as :source_lines
87
100
  def lines
88
- return @lines if defined? @lines
101
+ @lines ||= build_lines
102
+ end
103
+ alias source_lines lines
89
104
 
90
- # Warning to identify condition from Issue #56
91
- if coverage.size > src.size
92
- $stderr.puts "Warning: coverage data provided by Coverage [#{coverage.size}] exceeds number of lines in #{filename} [#{src.size}]"
93
- end
105
+ def build_lines
106
+ coverage_exceeding_source_warn if coverage.size > src.size
94
107
 
95
- # Initialize lines
96
- @lines = []
97
- src.each_with_index do |src, i|
98
- @lines << SimpleCov::SourceFile::Line.new(src, i+1, coverage[i])
108
+ lines = src.map.with_index(1) do |src, i|
109
+ SimpleCov::SourceFile::Line.new(src, i, coverage[i - 1])
99
110
  end
100
- process_skipped_lines!
101
- @lines
111
+
112
+ process_skipped_lines(lines)
113
+ end
114
+
115
+ # Warning to identify condition from Issue #56
116
+ def coverage_exceeding_source_warn
117
+ $stderr.puts "Warning: coverage data provided by Coverage [#{coverage.size}] exceeds number of lines in #{filename} [#{src.size}]"
102
118
  end
103
- alias_method :source_lines, :lines
104
119
 
105
120
  # Access SimpleCov::SourceFile::Line source lines by line number
106
121
  def line(number)
107
- lines[number-1]
122
+ lines[number - 1]
108
123
  end
109
124
 
110
125
  # The coverage for this file in percent. 0 if the file has no relevant lines
111
126
  def covered_percent
112
- return 100.0 if lines.length == 0 or lines.length == never_lines.count
113
- relevant_lines = lines.count - never_lines.count - skipped_lines.count
114
- if relevant_lines == 0
115
- 0
116
- else
117
- (covered_lines.count) * 100 / relevant_lines.to_f
118
- end
127
+ return 100.0 if no_lines?
128
+
129
+ return 0.0 if relevant_lines.zero?
130
+
131
+ Float(covered_lines.size * 100.0 / relevant_lines.to_f)
119
132
  end
120
133
 
121
134
  def covered_strength
122
- return 0 if lines.length == 0 or lines.length == never_lines.count
135
+ return 0.0 if relevant_lines.zero?
123
136
 
124
- lines_strength = 0
125
- lines.each do |c|
126
- lines_strength += c.coverage if c.coverage
127
- end
137
+ round_float(lines_strength / relevant_lines.to_f, 1)
138
+ end
128
139
 
129
- effective_lines_count = (lines.count - never_lines.count - skipped_lines.count).to_f
140
+ def no_lines?
141
+ lines.length.zero? || (lines.length == never_lines.size)
142
+ end
130
143
 
131
- if effective_lines_count == 0
132
- 0
133
- else
134
- strength = lines_strength / effective_lines_count
135
- round_float(strength, 1)
136
- end
144
+ def lines_strength
145
+ lines.map(&:coverage).compact.reduce(:+)
146
+ end
147
+
148
+ def relevant_lines
149
+ lines.size - never_lines.size - skipped_lines.size
137
150
  end
138
151
 
139
152
  # Returns all covered lines as SimpleCov::SourceFile::Line
140
153
  def covered_lines
141
- @covered_lines ||= lines.select {|c| c.covered? }
154
+ @covered_lines ||= lines.select(&:covered?)
142
155
  end
143
156
 
144
157
  # Returns all lines that should have been, but were not covered
145
158
  # as instances of SimpleCov::SourceFile::Line
146
159
  def missed_lines
147
- @missed_lines ||= lines.select {|c| c.missed? }
160
+ @missed_lines ||= lines.select(&:missed?)
148
161
  end
149
162
 
150
163
  # Returns all lines that are not relevant for coverage as
151
164
  # SimpleCov::SourceFile::Line instances
152
165
  def never_lines
153
- @never_lines ||= lines.select {|c| c.never? }
166
+ @never_lines ||= lines.select(&:never?)
154
167
  end
155
168
 
156
169
  # Returns all lines that were skipped as SimpleCov::SourceFile::Line instances
157
170
  def skipped_lines
158
- @skipped_lines ||= lines.select {|c| c.skipped? }
171
+ @skipped_lines ||= lines.select(&:skipped?)
159
172
  end
160
173
 
161
174
  # Returns the number of relevant lines (covered + missed)
162
175
  def lines_of_code
163
- covered_lines.count + missed_lines.count
176
+ covered_lines.size + missed_lines.size
164
177
  end
165
178
 
166
179
  # Will go through all source files and mark lines that are wrapped within # :nocov: comment blocks
167
180
  # as skipped.
168
- def process_skipped_lines!
181
+ def process_skipped_lines(lines)
169
182
  skipping = false
183
+
170
184
  lines.each do |line|
171
- if line.src =~ /^([\s]*)#([\s]*)(\:#{SimpleCov.nocov_token}\:)/
185
+ if SimpleCov::LinesClassifier.no_cov_line?(line.src)
172
186
  skipping = !skipping
173
- else
174
- line.skipped! if skipping
187
+ line.skipped!
188
+ elsif skipping
189
+ line.skipped!
175
190
  end
176
191
  end
177
192
  end
178
193
 
179
- private
194
+ private
180
195
 
181
196
  # ruby 1.9 could use Float#round(places) instead
197
+ # @return [Float]
182
198
  def round_float(float, places)
183
- factor = (10 * places).to_f
184
- (float * factor).round / factor
199
+ factor = Float(10 * places)
200
+ Float((float * factor).round / factor)
185
201
  end
186
202
  end
187
203
  end
188
-
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SimpleCov
2
- VERSION = "0.6.4"
3
- end
4
+ VERSION = "0.17.1".freeze
5
+ end
metadata CHANGED
@@ -1,116 +1,190 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplecov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.4
5
- prerelease:
4
+ version: 0.17.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Christoph Olszowka
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-05-10 00:00:00.000000000 Z
11
+ date: 2019-09-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: multi_json
16
- requirement: &70152796757480 !ruby/object:Gem::Requirement
17
- none: false
14
+ name: json
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: '1.0'
19
+ version: '1.8'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: *70152796757480
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '1.8'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
25
33
  - !ruby/object:Gem::Dependency
26
34
  name: simplecov-html
27
- requirement: &70152796756780 !ruby/object:Gem::Requirement
28
- none: false
35
+ requirement: !ruby/object:Gem::Requirement
29
36
  requirements:
30
- - - ~>
37
+ - - "~>"
31
38
  - !ruby/object:Gem::Version
32
- version: 0.5.3
39
+ version: 0.10.0
33
40
  type: :runtime
34
41
  prerelease: false
35
- version_requirements: *70152796756780
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 0.10.0
36
47
  - !ruby/object:Gem::Dependency
37
- name: aruba
38
- requirement: &70152796756220 !ruby/object:Gem::Requirement
39
- none: false
48
+ name: docile
49
+ requirement: !ruby/object:Gem::Requirement
40
50
  requirements:
41
- - - ! '>='
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.1'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.1'
61
+ - !ruby/object:Gem::Dependency
62
+ name: bundler
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
42
66
  - !ruby/object:Gem::Version
43
67
  version: '0'
44
68
  type: :development
45
69
  prerelease: false
46
- version_requirements: *70152796756220
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
47
75
  - !ruby/object:Gem::Dependency
48
- name: capybara
49
- requirement: &70152796755580 !ruby/object:Gem::Requirement
50
- none: false
76
+ name: rake
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rspec
91
+ requirement: !ruby/object:Gem::Requirement
51
92
  requirements:
52
- - - ! '>='
93
+ - - ">="
53
94
  - !ruby/object:Gem::Version
54
95
  version: '0'
55
96
  type: :development
56
97
  prerelease: false
57
- version_requirements: *70152796755580
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
58
103
  - !ruby/object:Gem::Dependency
59
- name: appraisal
60
- requirement: &70152796755020 !ruby/object:Gem::Requirement
61
- none: false
104
+ name: test-unit
105
+ requirement: !ruby/object:Gem::Requirement
62
106
  requirements:
63
- - - ! '>='
107
+ - - ">="
64
108
  - !ruby/object:Gem::Version
65
109
  version: '0'
66
110
  type: :development
67
111
  prerelease: false
68
- version_requirements: *70152796755020
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
69
117
  - !ruby/object:Gem::Dependency
70
118
  name: cucumber
71
- requirement: &70152796754340 !ruby/object:Gem::Requirement
72
- none: false
119
+ requirement: !ruby/object:Gem::Requirement
73
120
  requirements:
74
- - - ! '>='
121
+ - - "<"
75
122
  - !ruby/object:Gem::Version
76
- version: 1.1.4
123
+ version: '3'
77
124
  type: :development
78
125
  prerelease: false
79
- version_requirements: *70152796754340
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "<"
129
+ - !ruby/object:Gem::Version
130
+ version: '3'
80
131
  - !ruby/object:Gem::Dependency
81
- name: rake
82
- requirement: &70152796769980 !ruby/object:Gem::Requirement
83
- none: false
132
+ name: aruba
133
+ requirement: !ruby/object:Gem::Requirement
84
134
  requirements:
85
- - - ! '>='
135
+ - - ">="
86
136
  - !ruby/object:Gem::Version
87
137
  version: '0'
88
138
  type: :development
89
139
  prerelease: false
90
- version_requirements: *70152796769980
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
91
145
  - !ruby/object:Gem::Dependency
92
- name: rspec
93
- requirement: &70152796769100 !ruby/object:Gem::Requirement
94
- none: false
146
+ name: capybara
147
+ requirement: !ruby/object:Gem::Requirement
95
148
  requirements:
96
- - - ! '>='
149
+ - - "<"
150
+ - !ruby/object:Gem::Version
151
+ version: '3'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "<"
157
+ - !ruby/object:Gem::Version
158
+ version: '3'
159
+ - !ruby/object:Gem::Dependency
160
+ name: phantomjs
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
97
164
  - !ruby/object:Gem::Version
98
165
  version: '0'
99
166
  type: :development
100
167
  prerelease: false
101
- version_requirements: *70152796769100
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
102
173
  - !ruby/object:Gem::Dependency
103
- name: shoulda
104
- requirement: &70152796768260 !ruby/object:Gem::Requirement
105
- none: false
174
+ name: poltergeist
175
+ requirement: !ruby/object:Gem::Requirement
106
176
  requirements:
107
- - - ! '>='
177
+ - - ">="
108
178
  - !ruby/object:Gem::Version
109
179
  version: '0'
110
180
  type: :development
111
181
  prerelease: false
112
- version_requirements: *70152796768260
113
- description: Code coverage for Ruby 1.9 with a powerful configuration library and
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ description: Code coverage for Ruby 1.9+ with a powerful configuration library and
114
188
  automatic merging of coverage across test suites
115
189
  email:
116
190
  - christoph at olszowka de
@@ -118,207 +192,64 @@ executables: []
118
192
  extensions: []
119
193
  extra_rdoc_files: []
120
194
  files:
121
- - .gitignore
122
- - .travis.yml
123
- - Appraisals
124
195
  - CHANGELOG.md
125
- - Gemfile
196
+ - CONTRIBUTING.md
197
+ - ISSUE_TEMPLATE.md
126
198
  - LICENSE
127
199
  - README.md
128
- - Rakefile
129
- - cucumber.yml
130
- - features/config_adapters.feature
131
- - features/config_autoload.feature
132
- - features/config_command_name.feature
133
- - features/config_coverage_dir.feature
134
- - features/config_deactivate_merging.feature
135
- - features/config_merge_timeout.feature
136
- - features/config_nocov_token.feature
137
- - features/config_project_name.feature
138
- - features/config_styles.feature
139
- - features/cucumber_basic.feature
140
- - features/merging_test_unit_and_rspec.feature
141
- - features/rspec_basic.feature
142
- - features/rspec_fails_on_initialization.feature
143
- - features/rspec_groups_and_filters_basic.feature
144
- - features/rspec_groups_and_filters_complex.feature
145
- - features/rspec_groups_using_filter_class.feature
146
- - features/rspec_without_simplecov.feature
147
- - features/skipping_code_blocks_manually.feature
148
- - features/step_definitions/html_steps.rb
149
- - features/step_definitions/simplecov_steps.rb
150
- - features/step_definitions/transformers.rb
151
- - features/step_definitions/web_steps.rb
152
- - features/support/env.rb
153
- - features/test_unit_basic.feature
154
- - features/test_unit_groups_and_filters_basic.feature
155
- - features/test_unit_groups_and_filters_complex.feature
156
- - features/test_unit_groups_using_filter_class.feature
157
- - features/test_unit_without_simplecov.feature
158
- - features/unicode_compatiblity.feature
159
- - gemfiles/multi_json-legacy.gemfile
160
- - gemfiles/multi_json-legacy.gemfile.lock
161
- - gemfiles/multi_json-new.gemfile
162
- - gemfiles/multi_json-new.gemfile.lock
200
+ - doc/alternate-formatters.md
201
+ - doc/commercial-services.md
202
+ - doc/editor-integration.md
163
203
  - lib/simplecov.rb
164
- - lib/simplecov/adapters.rb
165
204
  - lib/simplecov/command_guesser.rb
166
205
  - lib/simplecov/configuration.rb
167
206
  - lib/simplecov/defaults.rb
207
+ - lib/simplecov/exit_codes.rb
168
208
  - lib/simplecov/file_list.rb
169
209
  - lib/simplecov/filter.rb
170
210
  - lib/simplecov/formatter.rb
211
+ - lib/simplecov/formatter/multi_formatter.rb
171
212
  - lib/simplecov/formatter/simple_formatter.rb
172
- - lib/simplecov/merge_helpers.rb
213
+ - lib/simplecov/jruby_fix.rb
214
+ - lib/simplecov/last_run.rb
215
+ - lib/simplecov/lines_classifier.rb
216
+ - lib/simplecov/load_global_config.rb
217
+ - lib/simplecov/no_defaults.rb
218
+ - lib/simplecov/profiles.rb
219
+ - lib/simplecov/profiles/bundler_filter.rb
220
+ - lib/simplecov/profiles/hidden_filter.rb
221
+ - lib/simplecov/profiles/rails.rb
222
+ - lib/simplecov/profiles/root_filter.rb
223
+ - lib/simplecov/profiles/test_frameworks.rb
173
224
  - lib/simplecov/railtie.rb
174
225
  - lib/simplecov/railties/tasks.rake
226
+ - lib/simplecov/raw_coverage.rb
175
227
  - lib/simplecov/result.rb
176
228
  - lib/simplecov/result_merger.rb
177
229
  - lib/simplecov/source_file.rb
178
230
  - lib/simplecov/version.rb
179
- - simplecov.gemspec
180
- - test/faked_project/Gemfile
181
- - test/faked_project/Rakefile
182
- - test/faked_project/cucumber.yml
183
- - test/faked_project/features/step_definitions/my_steps.rb
184
- - test/faked_project/features/support/env.rb
185
- - test/faked_project/features/test_stuff.feature
186
- - test/faked_project/lib/faked_project.rb
187
- - test/faked_project/lib/faked_project/framework_specific.rb
188
- - test/faked_project/lib/faked_project/meta_magic.rb
189
- - test/faked_project/lib/faked_project/some_class.rb
190
- - test/faked_project/spec/faked_spec.rb
191
- - test/faked_project/spec/meta_magic_spec.rb
192
- - test/faked_project/spec/some_class_spec.rb
193
- - test/faked_project/spec/spec_helper.rb
194
- - test/faked_project/test/faked_test.rb
195
- - test/faked_project/test/meta_magic_test.rb
196
- - test/faked_project/test/some_class_test.rb
197
- - test/faked_project/test/test_helper.rb
198
- - test/fixtures/app/controllers/sample_controller.rb
199
- - test/fixtures/app/models/user.rb
200
- - test/fixtures/deleted_source_sample.rb
201
- - test/fixtures/frameworks/rspec_bad.rb
202
- - test/fixtures/frameworks/rspec_good.rb
203
- - test/fixtures/frameworks/testunit_bad.rb
204
- - test/fixtures/frameworks/testunit_good.rb
205
- - test/fixtures/iso-8859.rb
206
- - test/fixtures/resultset1.rb
207
- - test/fixtures/resultset2.rb
208
- - test/fixtures/sample.rb
209
- - test/fixtures/utf-8.rb
210
- - test/helper.rb
211
- - test/shoulda_macros.rb
212
- - test/test_1_8_fallbacks.rb
213
- - test/test_command_guesser.rb
214
- - test/test_deleted_source.rb
215
- - test/test_file_list.rb
216
- - test/test_filters.rb
217
- - test/test_merge_helpers.rb
218
- - test/test_result.rb
219
- - test/test_return_codes.rb
220
- - test/test_source_file.rb
221
- - test/test_source_file_line.rb
222
231
  homepage: http://github.com/colszowka/simplecov
223
- licenses: []
232
+ licenses:
233
+ - MIT
234
+ metadata: {}
224
235
  post_install_message:
225
236
  rdoc_options: []
226
237
  require_paths:
227
238
  - lib
228
239
  required_ruby_version: !ruby/object:Gem::Requirement
229
- none: false
230
240
  requirements:
231
- - - ! '>='
241
+ - - ">="
232
242
  - !ruby/object:Gem::Version
233
- version: '0'
234
- segments:
235
- - 0
236
- hash: 1802100492995601719
243
+ version: 1.8.7
237
244
  required_rubygems_version: !ruby/object:Gem::Requirement
238
- none: false
239
245
  requirements:
240
- - - ! '>='
246
+ - - ">="
241
247
  - !ruby/object:Gem::Version
242
248
  version: '0'
243
- segments:
244
- - 0
245
- hash: 1802100492995601719
246
249
  requirements: []
247
- rubyforge_project:
248
- rubygems_version: 1.8.16
250
+ rubygems_version: 3.0.6
249
251
  signing_key:
250
- specification_version: 3
251
- summary: Code coverage for Ruby 1.9 with a powerful configuration library and automatic
252
+ specification_version: 4
253
+ summary: Code coverage for Ruby 1.9+ with a powerful configuration library and automatic
252
254
  merging of coverage across test suites
253
- test_files:
254
- - features/config_adapters.feature
255
- - features/config_autoload.feature
256
- - features/config_command_name.feature
257
- - features/config_coverage_dir.feature
258
- - features/config_deactivate_merging.feature
259
- - features/config_merge_timeout.feature
260
- - features/config_nocov_token.feature
261
- - features/config_project_name.feature
262
- - features/config_styles.feature
263
- - features/cucumber_basic.feature
264
- - features/merging_test_unit_and_rspec.feature
265
- - features/rspec_basic.feature
266
- - features/rspec_fails_on_initialization.feature
267
- - features/rspec_groups_and_filters_basic.feature
268
- - features/rspec_groups_and_filters_complex.feature
269
- - features/rspec_groups_using_filter_class.feature
270
- - features/rspec_without_simplecov.feature
271
- - features/skipping_code_blocks_manually.feature
272
- - features/step_definitions/html_steps.rb
273
- - features/step_definitions/simplecov_steps.rb
274
- - features/step_definitions/transformers.rb
275
- - features/step_definitions/web_steps.rb
276
- - features/support/env.rb
277
- - features/test_unit_basic.feature
278
- - features/test_unit_groups_and_filters_basic.feature
279
- - features/test_unit_groups_and_filters_complex.feature
280
- - features/test_unit_groups_using_filter_class.feature
281
- - features/test_unit_without_simplecov.feature
282
- - features/unicode_compatiblity.feature
283
- - test/faked_project/Gemfile
284
- - test/faked_project/Rakefile
285
- - test/faked_project/cucumber.yml
286
- - test/faked_project/features/step_definitions/my_steps.rb
287
- - test/faked_project/features/support/env.rb
288
- - test/faked_project/features/test_stuff.feature
289
- - test/faked_project/lib/faked_project.rb
290
- - test/faked_project/lib/faked_project/framework_specific.rb
291
- - test/faked_project/lib/faked_project/meta_magic.rb
292
- - test/faked_project/lib/faked_project/some_class.rb
293
- - test/faked_project/spec/faked_spec.rb
294
- - test/faked_project/spec/meta_magic_spec.rb
295
- - test/faked_project/spec/some_class_spec.rb
296
- - test/faked_project/spec/spec_helper.rb
297
- - test/faked_project/test/faked_test.rb
298
- - test/faked_project/test/meta_magic_test.rb
299
- - test/faked_project/test/some_class_test.rb
300
- - test/faked_project/test/test_helper.rb
301
- - test/fixtures/app/controllers/sample_controller.rb
302
- - test/fixtures/app/models/user.rb
303
- - test/fixtures/deleted_source_sample.rb
304
- - test/fixtures/frameworks/rspec_bad.rb
305
- - test/fixtures/frameworks/rspec_good.rb
306
- - test/fixtures/frameworks/testunit_bad.rb
307
- - test/fixtures/frameworks/testunit_good.rb
308
- - test/fixtures/iso-8859.rb
309
- - test/fixtures/resultset1.rb
310
- - test/fixtures/resultset2.rb
311
- - test/fixtures/sample.rb
312
- - test/fixtures/utf-8.rb
313
- - test/helper.rb
314
- - test/shoulda_macros.rb
315
- - test/test_1_8_fallbacks.rb
316
- - test/test_command_guesser.rb
317
- - test/test_deleted_source.rb
318
- - test/test_file_list.rb
319
- - test/test_filters.rb
320
- - test/test_merge_helpers.rb
321
- - test/test_result.rb
322
- - test/test_return_codes.rb
323
- - test/test_source_file.rb
324
- - test/test_source_file_line.rb
255
+ test_files: []