simplecov 0.7.1 → 0.8.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. data/.travis.yml +9 -2
  2. data/CHANGELOG.md +17 -2
  3. data/Gemfile +13 -2
  4. data/{LICENSE → MIT-LICENSE} +0 -0
  5. data/README.md +174 -117
  6. data/Rakefile +8 -3
  7. data/features/config_command_name.feature +12 -0
  8. data/features/config_merge_timeout.feature +3 -3
  9. data/features/config_profiles.feature +44 -0
  10. data/features/config_project_name.feature +2 -2
  11. data/features/cucumber_basic.feature +1 -1
  12. data/features/step_definitions/html_steps.rb +1 -1
  13. data/features/support/env.rb +23 -5
  14. data/gemfiles/multi_json_legacy.gemfile +12 -0
  15. data/gemfiles/multi_json_new.gemfile +12 -0
  16. data/lib/simplecov.rb +33 -25
  17. data/lib/simplecov/command_guesser.rb +6 -6
  18. data/lib/simplecov/configuration.rb +7 -2
  19. data/lib/simplecov/defaults.rb +9 -5
  20. data/lib/simplecov/file_list.rb +1 -1
  21. data/lib/simplecov/jruby16_fix.rb +43 -0
  22. data/lib/simplecov/no_defaults.rb +2 -0
  23. data/lib/simplecov/{adapters.rb → profiles.rb} +8 -8
  24. data/lib/simplecov/result.rb +10 -2
  25. data/lib/simplecov/source_file.rb +2 -3
  26. data/lib/simplecov/version.rb +1 -1
  27. data/simplecov.gemspec +8 -9
  28. data/test/faked_project/Gemfile +1 -1
  29. data/test/helper.rb +0 -1
  30. data/test/shoulda_macros.rb +0 -10
  31. data/test/test_1_8_fallbacks.rb +16 -18
  32. data/test/test_command_guesser.rb +13 -15
  33. data/test/test_deleted_source.rb +5 -7
  34. data/test/test_file_list.rb +15 -17
  35. data/test/test_filters.rb +56 -58
  36. data/test/test_merge_helpers.rb +73 -75
  37. data/test/test_result.rb +114 -116
  38. data/test/test_return_codes.rb +24 -26
  39. data/test/test_source_file.rb +75 -64
  40. data/test/test_source_file_line.rb +78 -82
  41. metadata +38 -86
  42. data/features/config_adapters.feature +0 -44
  43. data/gemfiles/multi_json-legacy.gemfile +0 -7
  44. data/gemfiles/multi_json-new.gemfile +0 -7
@@ -1,110 +1,106 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestSourceFileLine < Test::Unit::TestCase
4
+ context "A source line" do
5
+ setup do
6
+ @line = SimpleCov::SourceFile::Line.new('# the ruby source', 5, 3)
7
+ end
8
+ subject { @line }
4
9
 
10
+ should 'return "# the ruby source" as src' do
11
+ assert_equal '# the ruby source', @line.src
12
+ end
5
13
 
6
- on_ruby '1.9' do
7
- context "A source line" do
8
- setup do
9
- @line = SimpleCov::SourceFile::Line.new('# the ruby source', 5, 3)
10
- end
11
- subject { @line }
12
-
13
- should 'return "# the ruby source" as src' do
14
- assert_equal '# the ruby source', @line.src
15
- end
16
-
17
- should 'return the same for source as for src' do
18
- assert_equal @line.src, @line.source
19
- end
20
-
21
- should 'have line number 5' do
22
- assert_equal 5, @line.line_number
23
- end
24
-
25
- should 'have equal line_number, line and number' do
26
- assert_equal @line.line_number, @line.line
27
- assert_equal @line.line_number, @line.number
28
- end
29
-
30
- context "flagged as skipped!" do
31
- setup { @line.skipped! }
14
+ should 'return the same for source as for src' do
15
+ assert_equal @line.src, @line.source
16
+ end
32
17
 
33
- should_not_be :covered?
34
- should_be :skipped?
35
- should_not_be :missed?
36
- should_not_be :never?
37
- should_have :status, 'skipped'
38
- end
18
+ should 'have line number 5' do
19
+ assert_equal 5, @line.line_number
39
20
  end
40
21
 
41
- context "A source line with coverage" do
42
- setup do
43
- @line = SimpleCov::SourceFile::Line.new('# the ruby source', 5, 3)
44
- end
45
- subject { @line }
22
+ should 'have equal line_number, line and number' do
23
+ assert_equal @line.line_number, @line.line
24
+ assert_equal @line.line_number, @line.number
25
+ end
46
26
 
47
- should "have coverage of 3" do
48
- assert_equal 3, @line.coverage
49
- end
27
+ context "flagged as skipped!" do
28
+ setup { @line.skipped! }
50
29
 
51
- should_be :covered?
52
- should_not_be :skipped?
30
+ should_not_be :covered?
31
+ should_be :skipped?
53
32
  should_not_be :missed?
54
33
  should_not_be :never?
55
- should_have :status, 'covered'
34
+ should_have :status, 'skipped'
56
35
  end
36
+ end
57
37
 
58
- context "A source line without coverage" do
59
- setup do
60
- @line = SimpleCov::SourceFile::Line.new('# the ruby source', 5, 0)
61
- end
62
- subject { @line }
38
+ context "A source line with coverage" do
39
+ setup do
40
+ @line = SimpleCov::SourceFile::Line.new('# the ruby source', 5, 3)
41
+ end
42
+ subject { @line }
63
43
 
64
- should "have coverage of 0" do
65
- assert_equal 0, @line.coverage
66
- end
44
+ should "have coverage of 3" do
45
+ assert_equal 3, @line.coverage
46
+ end
67
47
 
68
- should_not_be :covered?
69
- should_not_be :skipped?
70
- should_be :missed?
71
- should_not_be :never?
72
- should_have :status, 'missed'
48
+ should_be :covered?
49
+ should_not_be :skipped?
50
+ should_not_be :missed?
51
+ should_not_be :never?
52
+ should_have :status, 'covered'
53
+ end
54
+
55
+ context "A source line without coverage" do
56
+ setup do
57
+ @line = SimpleCov::SourceFile::Line.new('# the ruby source', 5, 0)
73
58
  end
59
+ subject { @line }
74
60
 
75
- context "A source line with no code" do
76
- setup do
77
- @line = SimpleCov::SourceFile::Line.new('# the ruby source', 5, nil)
78
- end
79
- subject { @line }
61
+ should "have coverage of 0" do
62
+ assert_equal 0, @line.coverage
63
+ end
80
64
 
81
- should "have nil coverage" do
82
- assert_nil @line.coverage
83
- end
65
+ should_not_be :covered?
66
+ should_not_be :skipped?
67
+ should_be :missed?
68
+ should_not_be :never?
69
+ should_have :status, 'missed'
70
+ end
84
71
 
85
- should_not_be :covered?
86
- should_not_be :skipped?
87
- should_not_be :missed?
88
- should_be :never?
89
- should_have :status, 'never'
72
+ context "A source line with no code" do
73
+ setup do
74
+ @line = SimpleCov::SourceFile::Line.new('# the ruby source', 5, nil)
90
75
  end
76
+ subject { @line }
91
77
 
92
- should "raise ArgumentError when initialized with invalid src" do
93
- assert_raise ArgumentError do
94
- SimpleCov::SourceFile::Line.new(:symbol, 5, 3)
95
- end
78
+ should "have nil coverage" do
79
+ assert_nil @line.coverage
96
80
  end
97
81
 
98
- should "raise ArgumentError when initialized with invalid line_number" do
99
- assert_raise ArgumentError do
100
- SimpleCov::SourceFile::Line.new("some source", "five", 3)
101
- end
82
+ should_not_be :covered?
83
+ should_not_be :skipped?
84
+ should_not_be :missed?
85
+ should_be :never?
86
+ should_have :status, 'never'
87
+ end
88
+
89
+ should "raise ArgumentError when initialized with invalid src" do
90
+ assert_raise ArgumentError do
91
+ SimpleCov::SourceFile::Line.new(:symbol, 5, 3)
92
+ end
93
+ end
94
+
95
+ should "raise ArgumentError when initialized with invalid line_number" do
96
+ assert_raise ArgumentError do
97
+ SimpleCov::SourceFile::Line.new("some source", "five", 3)
102
98
  end
99
+ end
103
100
 
104
- should "raise ArgumentError when initialized with invalid coverage" do
105
- assert_raise ArgumentError do
106
- SimpleCov::SourceFile::Line.new("some source", 5, "three")
107
- end
101
+ should "raise ArgumentError when initialized with invalid coverage" do
102
+ assert_raise ArgumentError do
103
+ SimpleCov::SourceFile::Line.new("some source", 5, "three")
108
104
  end
109
105
  end
110
- end
106
+ end if SimpleCov.usable?
metadata CHANGED
@@ -1,32 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplecov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
5
- prerelease:
4
+ version: 0.8.0.pre
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Christoph Olszowka
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-12 00:00:00.000000000 Z
12
+ date: 2013-04-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '1.0'
21
+ version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '1.0'
29
+ version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: simplecov-html
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -43,119 +43,71 @@ dependencies:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: 0.7.1
46
- - !ruby/object:Gem::Dependency
47
- name: aruba
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
63
- name: capybara
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
46
  - !ruby/object:Gem::Dependency
79
47
  name: appraisal
80
48
  requirement: !ruby/object:Gem::Requirement
81
49
  none: false
82
50
  requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: cucumber
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
51
+ - - ~>
100
52
  - !ruby/object:Gem::Version
101
- version: 1.1.4
53
+ version: 0.5.1
102
54
  type: :development
103
55
  prerelease: false
104
56
  version_requirements: !ruby/object:Gem::Requirement
105
57
  none: false
106
58
  requirements:
107
- - - ! '>='
59
+ - - ~>
108
60
  - !ruby/object:Gem::Version
109
- version: 1.1.4
61
+ version: 0.5.1
110
62
  - !ruby/object:Gem::Dependency
111
63
  name: rake
112
64
  requirement: !ruby/object:Gem::Requirement
113
65
  none: false
114
66
  requirements:
115
- - - ! '>='
67
+ - - ~>
116
68
  - !ruby/object:Gem::Version
117
- version: '0'
69
+ version: 10.0.3
118
70
  type: :development
119
71
  prerelease: false
120
72
  version_requirements: !ruby/object:Gem::Requirement
121
73
  none: false
122
74
  requirements:
123
- - - ! '>='
75
+ - - ~>
124
76
  - !ruby/object:Gem::Version
125
- version: '0'
77
+ version: 10.0.3
126
78
  - !ruby/object:Gem::Dependency
127
79
  name: rspec
128
80
  requirement: !ruby/object:Gem::Requirement
129
81
  none: false
130
82
  requirements:
131
- - - ! '>='
83
+ - - ~>
132
84
  - !ruby/object:Gem::Version
133
- version: '0'
85
+ version: 2.13.0
134
86
  type: :development
135
87
  prerelease: false
136
88
  version_requirements: !ruby/object:Gem::Requirement
137
89
  none: false
138
90
  requirements:
139
- - - ! '>='
91
+ - - ~>
140
92
  - !ruby/object:Gem::Version
141
- version: '0'
93
+ version: 2.13.0
142
94
  - !ruby/object:Gem::Dependency
143
95
  name: shoulda
144
96
  requirement: !ruby/object:Gem::Requirement
145
97
  none: false
146
98
  requirements:
147
- - - ! '>='
99
+ - - ~>
148
100
  - !ruby/object:Gem::Version
149
- version: '0'
101
+ version: 3.4.0
150
102
  type: :development
151
103
  prerelease: false
152
104
  version_requirements: !ruby/object:Gem::Requirement
153
105
  none: false
154
106
  requirements:
155
- - - ! '>='
107
+ - - ~>
156
108
  - !ruby/object:Gem::Version
157
- version: '0'
158
- description: Code coverage for Ruby 1.9 with a powerful configuration library and
109
+ version: 3.4.0
110
+ description: Code coverage for Ruby 1.9+ with a powerful configuration library and
159
111
  automatic merging of coverage across test suites
160
112
  email:
161
113
  - christoph at olszowka de
@@ -170,11 +122,10 @@ files:
170
122
  - CHANGELOG.md
171
123
  - CONTRIBUTING.md
172
124
  - Gemfile
173
- - LICENSE
125
+ - MIT-LICENSE
174
126
  - README.md
175
127
  - Rakefile
176
128
  - cucumber.yml
177
- - features/config_adapters.feature
178
129
  - features/config_autoload.feature
179
130
  - features/config_command_name.feature
180
131
  - features/config_coverage_dir.feature
@@ -182,6 +133,7 @@ files:
182
133
  - features/config_formatters.feature
183
134
  - features/config_merge_timeout.feature
184
135
  - features/config_nocov_token.feature
136
+ - features/config_profiles.feature
185
137
  - features/config_project_name.feature
186
138
  - features/config_styles.feature
187
139
  - features/cucumber_basic.feature
@@ -207,10 +159,9 @@ files:
207
159
  - features/test_unit_groups_using_filter_class.feature
208
160
  - features/test_unit_without_simplecov.feature
209
161
  - features/unicode_compatiblity.feature
210
- - gemfiles/multi_json-legacy.gemfile
211
- - gemfiles/multi_json-new.gemfile
162
+ - gemfiles/multi_json_legacy.gemfile
163
+ - gemfiles/multi_json_new.gemfile
212
164
  - lib/simplecov.rb
213
- - lib/simplecov/adapters.rb
214
165
  - lib/simplecov/command_guesser.rb
215
166
  - lib/simplecov/configuration.rb
216
167
  - lib/simplecov/defaults.rb
@@ -220,9 +171,12 @@ files:
220
171
  - lib/simplecov/formatter.rb
221
172
  - lib/simplecov/formatter/multi_formatter.rb
222
173
  - lib/simplecov/formatter/simple_formatter.rb
174
+ - lib/simplecov/jruby16_fix.rb
223
175
  - lib/simplecov/json.rb
224
176
  - lib/simplecov/last_run.rb
225
177
  - lib/simplecov/merge_helpers.rb
178
+ - lib/simplecov/no_defaults.rb
179
+ - lib/simplecov/profiles.rb
226
180
  - lib/simplecov/railtie.rb
227
181
  - lib/simplecov/railties/tasks.rake
228
182
  - lib/simplecov/result.rb
@@ -273,7 +227,8 @@ files:
273
227
  - test/test_source_file.rb
274
228
  - test/test_source_file_line.rb
275
229
  homepage: http://github.com/colszowka/simplecov
276
- licenses: []
230
+ licenses:
231
+ - MIT
277
232
  post_install_message:
278
233
  rdoc_options: []
279
234
  require_paths:
@@ -286,21 +241,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
286
241
  version: '0'
287
242
  segments:
288
243
  - 0
289
- hash: -2884824259526901790
244
+ hash: -263830053031088353
290
245
  required_rubygems_version: !ruby/object:Gem::Requirement
291
246
  none: false
292
247
  requirements:
293
- - - ! '>='
248
+ - - ! '>'
294
249
  - !ruby/object:Gem::Version
295
- version: '0'
296
- segments:
297
- - 0
298
- hash: -2884824259526901790
250
+ version: 1.3.1
299
251
  requirements: []
300
252
  rubyforge_project:
301
- rubygems_version: 1.8.24
253
+ rubygems_version: 1.8.25
302
254
  signing_key:
303
255
  specification_version: 3
304
- summary: Code coverage for Ruby 1.9 with a powerful configuration library and automatic
256
+ summary: Code coverage for Ruby 1.9+ with a powerful configuration library and automatic
305
257
  merging of coverage across test suites
306
258
  test_files: []
@@ -1,44 +0,0 @@
1
- @test_unit @config @adapters
2
- Feature:
3
-
4
- In order to re-use SimpleCov settings across projects,
5
- adapters can be defined that hold configuration settings
6
- that can be loaded at once.
7
-
8
- Background:
9
- Given SimpleCov for Test/Unit is configured with:
10
- """
11
- require 'simplecov'
12
- """
13
-
14
- Scenario: Defining and using a custom adapter
15
- Given a file named ".simplecov" with:
16
- """
17
- SimpleCov.adapters.define 'custom_command' do
18
- command_name "Adapter Command"
19
- end
20
-
21
- SimpleCov.start do
22
- load_adapter 'test_frameworks'
23
- load_adapter 'custom_command'
24
- end
25
- """
26
-
27
- When I open the coverage report generated with `bundle exec rake test`
28
- Then I should see "4 files in total."
29
- And I should see "using Adapter Command" within "#footer"
30
-
31
- Scenario: Using existing adapter in custom adapter and supplying adapter to start command
32
- Given a file named ".simplecov" with:
33
- """
34
- SimpleCov.adapters.define 'my_adapter' do
35
- load_adapter 'test_frameworks'
36
- command_name "My Adapter"
37
- end
38
-
39
- SimpleCov.start 'my_adapter'
40
- """
41
-
42
- When I open the coverage report generated with `bundle exec rake test`
43
- Then I should see "4 files in total."
44
- And I should see "using My Adapter" within "#footer"