coverband 4.2.7 → 5.0.0.rc.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.standard.yml +25 -0
  3. data/.travis.yml +2 -1
  4. data/Gemfile +5 -7
  5. data/Gemfile.rails4 +0 -3
  6. data/Gemfile.rails6 +0 -3
  7. data/README.md +8 -77
  8. data/Rakefile +17 -17
  9. data/changes.md +18 -27
  10. data/config.ru +1 -1
  11. data/coverband.gemspec +29 -34
  12. data/lib/coverband.rb +55 -43
  13. data/lib/coverband/adapters/base.rb +17 -17
  14. data/lib/coverband/adapters/file_store.rb +2 -2
  15. data/lib/coverband/adapters/hash_redis_store.rb +24 -21
  16. data/lib/coverband/adapters/redis_store.rb +12 -12
  17. data/lib/coverband/at_exit.rb +1 -1
  18. data/lib/coverband/collectors/coverage.rb +15 -27
  19. data/lib/coverband/collectors/delta.rb +19 -9
  20. data/lib/coverband/collectors/view_tracker.rb +10 -10
  21. data/lib/coverband/configuration.rb +47 -83
  22. data/lib/coverband/integrations/background.rb +3 -3
  23. data/lib/coverband/integrations/rack_server_check.rb +3 -3
  24. data/lib/coverband/reporters/base.rb +10 -10
  25. data/lib/coverband/reporters/console_report.rb +1 -1
  26. data/lib/coverband/reporters/html_report.rb +10 -30
  27. data/lib/coverband/reporters/web.rb +56 -49
  28. data/lib/coverband/utils/absolute_file_converter.rb +6 -6
  29. data/lib/coverband/utils/html_formatter.rb +32 -61
  30. data/lib/coverband/utils/railtie.rb +16 -4
  31. data/lib/coverband/utils/relative_file_converter.rb +2 -2
  32. data/lib/coverband/utils/result.rb +6 -11
  33. data/lib/coverband/utils/results.rb +0 -10
  34. data/lib/coverband/utils/source_file.rb +21 -30
  35. data/lib/coverband/utils/tasks.rb +7 -11
  36. data/lib/coverband/version.rb +1 -1
  37. data/public/application.js +0 -30
  38. data/test/benchmarks/benchmark.rake +97 -92
  39. data/test/benchmarks/dog.rb +1 -1
  40. data/test/benchmarks/init_rails.rake +4 -4
  41. data/test/coverband/adapters/base_test.rb +29 -30
  42. data/test/coverband/adapters/file_store_test.rb +15 -16
  43. data/test/coverband/adapters/hash_redis_store_test.rb +57 -57
  44. data/test/coverband/adapters/redis_store_test.rb +26 -26
  45. data/test/coverband/at_exit_test.rb +2 -2
  46. data/test/coverband/collectors/coverage_test.rb +33 -47
  47. data/test/coverband/collectors/delta_test.rb +51 -23
  48. data/test/coverband/collectors/view_tracker_test.rb +35 -35
  49. data/test/coverband/configuration_test.rb +15 -41
  50. data/test/coverband/coverband_test.rb +11 -11
  51. data/test/coverband/integrations/background_middleware_test.rb +10 -10
  52. data/test/coverband/integrations/background_test.rb +3 -2
  53. data/test/coverband/integrations/rack_server_check_test.rb +7 -7
  54. data/test/coverband/integrations/report_middleware_test.rb +9 -9
  55. data/test/coverband/integrations/resque_worker_test.rb +9 -9
  56. data/test/coverband/integrations/test_resque_job.rb +1 -1
  57. data/test/coverband/reporters/base_test.rb +9 -9
  58. data/test/coverband/reporters/console_test.rb +6 -6
  59. data/test/coverband/reporters/html_test.rb +36 -48
  60. data/test/coverband/reporters/web_test.rb +16 -18
  61. data/test/coverband/utils/absolute_file_converter_test.rb +22 -22
  62. data/test/coverband/utils/file_hasher_test.rb +6 -12
  63. data/test/coverband/utils/file_list_test.rb +13 -13
  64. data/test/coverband/utils/html_formatter_test.rb +9 -23
  65. data/test/coverband/utils/lines_classifier_test.rb +29 -29
  66. data/test/coverband/utils/relative_file_converter_test.rb +13 -13
  67. data/test/coverband/utils/result_test.rb +18 -18
  68. data/test/coverband/utils/results_test.rb +17 -17
  69. data/test/coverband/utils/source_file_line_test.rb +46 -46
  70. data/test/coverband/utils/source_file_test.rb +38 -88
  71. data/test/dog.rb +1 -1
  72. data/test/fake_app/basic_rack.rb +2 -2
  73. data/test/fixtures/app/controllers/sample_controller.rb +1 -1
  74. data/test/fixtures/app/models/user.rb +1 -1
  75. data/test/fixtures/sample.rb +1 -1
  76. data/test/fixtures/utf-8.rb +0 -2
  77. data/test/forked/rails_full_stack_test.rb +24 -27
  78. data/test/forked/rails_rake_full_stack_test.rb +7 -26
  79. data/test/integration/full_stack_test.rb +11 -22
  80. data/test/jruby_check.rb +2 -3
  81. data/test/rails4_dummy/Rakefile +1 -1
  82. data/test/rails4_dummy/config.ru +1 -1
  83. data/test/rails4_dummy/config/application.rb +4 -4
  84. data/test/rails4_dummy/config/boot.rb +2 -2
  85. data/test/rails4_dummy/config/coverband.rb +1 -1
  86. data/test/rails4_dummy/config/coverband_missing_redis.rb +1 -1
  87. data/test/rails4_dummy/config/environment.rb +1 -1
  88. data/test/rails4_dummy/config/routes.rb +2 -2
  89. data/test/rails5_dummy/Rakefile +1 -1
  90. data/test/rails5_dummy/config.ru +1 -1
  91. data/test/rails5_dummy/config/application.rb +3 -3
  92. data/test/rails5_dummy/config/coverband.rb +8 -8
  93. data/test/rails5_dummy/config/coverband_missing_redis.rb +8 -8
  94. data/test/rails5_dummy/config/environment.rb +1 -1
  95. data/test/rails5_dummy/config/routes.rb +2 -2
  96. data/test/rails6_dummy/Rakefile +1 -1
  97. data/test/rails6_dummy/config.ru +1 -1
  98. data/test/rails6_dummy/config/application.rb +4 -4
  99. data/test/rails6_dummy/config/boot.rb +2 -2
  100. data/test/rails6_dummy/config/coverband.rb +1 -1
  101. data/test/rails6_dummy/config/coverband_missing_redis.rb +1 -1
  102. data/test/rails6_dummy/config/environment.rb +1 -1
  103. data/test/rails6_dummy/config/routes.rb +2 -2
  104. data/test/rails_test_helper.rb +11 -11
  105. data/test/test_helper.rb +41 -34
  106. data/test/unique_files.rb +10 -10
  107. data/views/layout.erb +2 -12
  108. metadata +6 -45
  109. data/.rubocop.yml +0 -86
  110. data/lib/coverband/integrations/bundler.rb +0 -8
  111. data/lib/coverband/utils/file_groups.rb +0 -53
  112. data/lib/coverband/utils/gem_list.rb +0 -31
  113. data/lib/coverband/utils/s3_report.rb +0 -105
  114. data/test/coverband/utils/file_groups_test.rb +0 -61
  115. data/test/coverband/utils/gem_list_test.rb +0 -48
  116. data/test/coverband/utils/s3_report_test.rb +0 -44
  117. data/views/gem_list.erb +0 -63
@@ -1,59 +1,59 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require File.expand_path('../../test_helper', File.dirname(__FILE__))
3
+ require File.expand_path("../../test_helper", File.dirname(__FILE__))
4
4
 
5
5
  ####
6
6
  # Thanks for all the help SimpleCov https://github.com/colszowka/simplecov-html
7
7
  # initial version of test pulled into Coverband from Simplecov 12/19/2018
8
8
  ####
9
- describe 'result' do
10
- describe 'with a (mocked) Coverage.result' do
9
+ describe "result" do
10
+ describe "with a (mocked) Coverage.result" do
11
11
  let(:original_result) do
12
12
  {
13
- source_fixture('sample.rb') => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil],
14
- source_fixture('app/models/user.rb') => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
15
- source_fixture('app/controllers/sample_controller.rb') => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil]
13
+ source_fixture("sample.rb") => [nil, 1, 1, 1, nil, nil, 1, 1, nil, nil],
14
+ source_fixture("app/models/user.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil],
15
+ source_fixture("app/controllers/sample_controller.rb") => [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil]
16
16
  }
17
17
  end
18
18
 
19
- describe 'a simple cov result initialized from that' do
19
+ describe "a simple cov result initialized from that" do
20
20
  subject { Coverband::Utils::Result.new(original_result) }
21
21
 
22
- it 'has 3 filenames' do
22
+ it "has 3 filenames" do
23
23
  assert_equal 3, subject.filenames.count
24
24
  end
25
25
 
26
- it 'has 3 source files' do
26
+ it "has 3 source files" do
27
27
  assert_equal 3, subject.source_files.count
28
28
  subject.source_files.each do |source_file|
29
29
  assert source_file.is_a?(Coverband::Utils::SourceFile)
30
30
  end
31
31
  end
32
32
 
33
- it 'returns an instance of Coverband::Utils::FileList for source_files and files' do
33
+ it "returns an instance of Coverband::Utils::FileList for source_files and files" do
34
34
  assert subject.files.is_a?(Coverband::Utils::FileList)
35
35
  assert subject.source_files.is_a?(Coverband::Utils::FileList)
36
36
  end
37
37
 
38
- it 'has files equal to source_files' do
38
+ it "has files equal to source_files" do
39
39
  assert_equal subject.source_files, subject.files
40
40
  end
41
41
 
42
- it 'has accurate covered percent' do
42
+ it "has accurate covered percent" do
43
43
  # in our fixture, there are 13 covered line (result in 1) in all 15 relevant line (result in non-nil)
44
44
  assert_equal 86.66666666666667, subject.covered_percent
45
45
  end
46
46
 
47
- it 'has accurate covered percentages' do
47
+ it "has accurate covered percentages" do
48
48
  assert_equal [80.0, 80.0, 100.0], subject.covered_percentages
49
49
  end
50
50
 
51
51
  %i[covered_percent
52
- covered_percentages
53
- covered_strength
54
- covered_lines
55
- missed_lines
56
- total_lines].each do |msg|
52
+ covered_percentages
53
+ covered_strength
54
+ covered_lines
55
+ missed_lines
56
+ total_lines].each do |msg|
57
57
  it "responds to #{msg}" do
58
58
  assert(subject.respond_to?(msg))
59
59
  end
@@ -1,52 +1,52 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require File.expand_path('../../test_helper', File.dirname(__FILE__))
3
+ require File.expand_path("../../test_helper", File.dirname(__FILE__))
4
4
 
5
- describe 'results' do
6
- describe 'with a (mocked) Coverage.result' do
7
- let(:source_file) { Coverband::Utils::SourceFile.new(source_fixture('app/models/user.rb'), run_lines) }
5
+ describe "results" do
6
+ describe "with a (mocked) Coverage.result" do
7
+ let(:source_file) { Coverband::Utils::SourceFile.new(source_fixture("app/models/user.rb"), run_lines) }
8
8
  let(:eager_lines) { [nil, 1, 1, 0, nil, nil, 1, 0, nil, nil] }
9
- let(:run_lines) { [nil, nil, nil, 1, nil, nil, nil,nil, nil, nil] }
9
+ let(:run_lines) { [nil, nil, nil, 1, nil, nil, nil, nil, nil, nil] }
10
10
  let(:original_result) do
11
11
  orig = {
12
- Coverband::MERGED_TYPE => {source_fixture('app/models/user.rb') => eager_lines},
12
+ Coverband::MERGED_TYPE => {source_fixture("app/models/user.rb") => eager_lines}
13
13
  }
14
- orig.merge!({Coverband::EAGER_TYPE => {source_fixture('app/models/user.rb') => eager_lines}}) if eager_lines
15
- orig.merge!({Coverband::RUNTIME_TYPE => {source_fixture('app/models/user.rb') => run_lines}}) if run_lines
14
+ orig[Coverband::EAGER_TYPE] = {source_fixture("app/models/user.rb") => eager_lines} if eager_lines
15
+ orig[Coverband::RUNTIME_TYPE] = {source_fixture("app/models/user.rb") => run_lines} if run_lines
16
16
  orig
17
17
  end
18
18
  subject { Coverband::Utils::Results.new(original_result) }
19
19
 
20
- describe 'runtime relevant lines is supported' do
21
- it 'has correct runtime relevant coverage' do
20
+ describe "runtime relevant lines is supported" do
21
+ it "has correct runtime relevant coverage" do
22
22
  assert_equal 50.0, subject.runtime_relevant_coverage(source_file)
23
23
  end
24
24
 
25
- it 'has correct runtime relevant lines' do
25
+ it "has correct runtime relevant lines" do
26
26
  assert_equal 2, subject.runtime_relavent_lines(source_file)
27
27
  end
28
28
  end
29
29
 
30
- describe 'runtime relevant lines when no runtime coverage exists' do
30
+ describe "runtime relevant lines when no runtime coverage exists" do
31
31
  let(:run_lines) { nil }
32
32
 
33
- it 'has correct runtime relevant lines' do
33
+ it "has correct runtime relevant lines" do
34
34
  assert_equal 0.0, subject.runtime_relevant_coverage(source_file)
35
35
  end
36
36
 
37
- it 'has correct runtime relevant lines' do
37
+ it "has correct runtime relevant lines" do
38
38
  assert_equal 2, subject.runtime_relavent_lines(source_file)
39
39
  end
40
40
  end
41
41
 
42
- describe 'runtime relevant lines when no eager coverage exists' do
42
+ describe "runtime relevant lines when no eager coverage exists" do
43
43
  let(:eager_lines) { nil }
44
44
 
45
- it 'has correct runtime relevant lines' do
45
+ it "has correct runtime relevant lines" do
46
46
  assert_equal 100.0, subject.runtime_relevant_coverage(source_file)
47
47
  end
48
48
 
49
- it 'has correct runtime relevant lines' do
49
+ it "has correct runtime relevant lines" do
50
50
  assert_equal 1, subject.runtime_relavent_lines(source_file)
51
51
  end
52
52
  end
@@ -1,165 +1,165 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require File.expand_path('../../test_helper', File.dirname(__FILE__))
3
+ require File.expand_path("../../test_helper", File.dirname(__FILE__))
4
4
 
5
5
  ####
6
6
  # Thanks for all the help SimpleCov https://github.com/colszowka/simplecov-html
7
7
  # initial version of test pulled into Coverband from Simplecov 12/19/2018
8
8
  ####
9
9
  describe Coverband::Utils::SourceFile::Line do
10
- describe 'a source line' do
10
+ describe "a source line" do
11
11
  subject do
12
- Coverband::Utils::SourceFile::Line.new('# the ruby source', 5, 3)
12
+ Coverband::Utils::SourceFile::Line.new("# the ruby source", 5, 3)
13
13
  end
14
14
 
15
15
  it 'returns "# the ruby source" as src' do
16
- assert_equal '# the ruby source', subject.src
16
+ assert_equal "# the ruby source", subject.src
17
17
  end
18
18
 
19
- it 'returns the same for source as for src' do
19
+ it "returns the same for source as for src" do
20
20
  assert_equal subject.src, subject.source
21
21
  end
22
22
 
23
- it 'has line number 5' do
23
+ it "has line number 5" do
24
24
  assert_equal 5, subject.line_number
25
25
  end
26
26
 
27
- it 'has equal line_number, line and number' do
27
+ it "has equal line_number, line and number" do
28
28
  assert_equal subject.line, subject.line_number
29
29
  assert_equal subject.number, subject.line_number
30
30
  end
31
31
 
32
- describe 'flagged as skipped!' do
32
+ describe "flagged as skipped!" do
33
33
  before do
34
34
  subject.skipped!
35
35
  end
36
- it 'is not covered' do
36
+ it "is not covered" do
37
37
  refute subject.covered?
38
38
  end
39
39
 
40
- it 'is skipped' do
40
+ it "is skipped" do
41
41
  assert subject.skipped?
42
42
  end
43
43
 
44
- it 'is not missed' do
44
+ it "is not missed" do
45
45
  refute subject.missed?
46
46
  end
47
47
 
48
- it 'is not never' do
48
+ it "is not never" do
49
49
  refute subject.never?
50
50
  end
51
51
 
52
- it 'status is skipped' do
53
- assert_equal 'skipped', subject.status
52
+ it "status is skipped" do
53
+ assert_equal "skipped", subject.status
54
54
  end
55
55
  end
56
56
  end
57
57
 
58
- describe 'A source line with coverage' do
58
+ describe "A source line with coverage" do
59
59
  subject do
60
- Coverband::Utils::SourceFile::Line.new('# the ruby source', 5, 3)
60
+ Coverband::Utils::SourceFile::Line.new("# the ruby source", 5, 3)
61
61
  end
62
62
 
63
- it 'has coverage of 3' do
63
+ it "has coverage of 3" do
64
64
  assert_equal 3, subject.coverage
65
65
  end
66
66
 
67
- it 'is covered' do
67
+ it "is covered" do
68
68
  assert subject.covered?
69
69
  end
70
70
 
71
- it 'is not skipped' do
71
+ it "is not skipped" do
72
72
  refute subject.skipped?
73
73
  end
74
74
 
75
- it 'is not missed' do
75
+ it "is not missed" do
76
76
  refute subject.missed?
77
77
  end
78
78
 
79
- it 'is not never' do
79
+ it "is not never" do
80
80
  refute subject.never?
81
81
  end
82
82
 
83
- it 'status is covered' do
84
- assert_equal 'covered', subject.status
83
+ it "status is covered" do
84
+ assert_equal "covered", subject.status
85
85
  end
86
86
  end
87
87
 
88
- describe 'A source line without coverage' do
88
+ describe "A source line without coverage" do
89
89
  subject do
90
- Coverband::Utils::SourceFile::Line.new('# the ruby source', 5, 0)
90
+ Coverband::Utils::SourceFile::Line.new("# the ruby source", 5, 0)
91
91
  end
92
92
 
93
- it 'has coverage of 0' do
93
+ it "has coverage of 0" do
94
94
  assert_equal 0, subject.coverage
95
95
  end
96
96
 
97
- it 'is not covered' do
97
+ it "is not covered" do
98
98
  refute subject.covered?
99
99
  end
100
100
 
101
- it 'is not skipped' do
101
+ it "is not skipped" do
102
102
  refute subject.skipped?
103
103
  end
104
104
 
105
- it 'is missed' do
105
+ it "is missed" do
106
106
  assert subject.missed?
107
107
  end
108
108
 
109
- it 'is not never' do
109
+ it "is not never" do
110
110
  refute subject.never?
111
111
  end
112
112
 
113
- it 'status is missed' do
114
- assert_equal 'missed', subject.status
113
+ it "status is missed" do
114
+ assert_equal "missed", subject.status
115
115
  end
116
116
  end
117
117
 
118
- describe 'A source line with no code' do
118
+ describe "A source line with no code" do
119
119
  subject do
120
- Coverband::Utils::SourceFile::Line.new('# the ruby source', 5, nil)
120
+ Coverband::Utils::SourceFile::Line.new("# the ruby source", 5, nil)
121
121
  end
122
122
 
123
- it 'has nil coverage' do
123
+ it "has nil coverage" do
124
124
  assert_nil subject.coverage
125
125
  end
126
126
 
127
- it 'is not covered' do
127
+ it "is not covered" do
128
128
  refute subject.covered?
129
129
  end
130
130
 
131
- it 'is not skipped' do
131
+ it "is not skipped" do
132
132
  refute subject.skipped?
133
133
  end
134
134
 
135
- it 'is not missed' do
135
+ it "is not missed" do
136
136
  refute subject.missed?
137
137
  end
138
138
 
139
- it 'is never' do
139
+ it "is never" do
140
140
  assert subject.never?
141
141
  end
142
142
 
143
- it 'status is never' do
144
- assert_equal 'never', subject.status
143
+ it "status is never" do
144
+ assert_equal "never", subject.status
145
145
  end
146
146
  end
147
147
 
148
- it 'raises ArgumentError when initialized with invalid src' do
148
+ it "raises ArgumentError when initialized with invalid src" do
149
149
  assert_raises ArgumentError do
150
150
  Coverband::Utils::SourceFile::Line.new(:symbol, 5, 3)
151
151
  end
152
152
  end
153
153
 
154
- it 'raises ArgumentError when initialized with invalid line_number' do
154
+ it "raises ArgumentError when initialized with invalid line_number" do
155
155
  assert_raises ArgumentError do
156
- Coverband::Utils::SourceFile::Line.new('some source', 'five', 3)
156
+ Coverband::Utils::SourceFile::Line.new("some source", "five", 3)
157
157
  end
158
158
  end
159
159
 
160
- it 'raises ArgumentError when initialized with invalid coverage' do
160
+ it "raises ArgumentError when initialized with invalid coverage" do
161
161
  assert_raises ArgumentError do
162
- Coverband::Utils::SourceFile::Line.new('some source', 5, 'three')
162
+ Coverband::Utils::SourceFile::Line.new("some source", 5, "three")
163
163
  end
164
164
  end
165
165
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require File.expand_path('../../test_helper', File.dirname(__FILE__))
3
+ require File.expand_path("../../test_helper", File.dirname(__FILE__))
4
4
 
5
5
  ####
6
6
  # Thanks for all the help SimpleCov https://github.com/colszowka/simplecov-html
@@ -8,32 +8,32 @@ require File.expand_path('../../test_helper', File.dirname(__FILE__))
8
8
  ####
9
9
  describe Coverband::Utils::SourceFile do
10
10
  COVERAGE_FOR_SAMPLE_RB = [nil, 1, 1, 1, nil, nil, 1, 0, nil, nil, nil, nil, nil, nil, nil, nil].freeze
11
- describe 'a source file initialized with some coverage data' do
11
+ describe "a source file initialized with some coverage data" do
12
12
  subject do
13
- Coverband::Utils::SourceFile.new(source_fixture('sample.rb'), COVERAGE_FOR_SAMPLE_RB)
13
+ Coverband::Utils::SourceFile.new(source_fixture("sample.rb"), COVERAGE_FOR_SAMPLE_RB)
14
14
  end
15
15
 
16
- it 'has a filename' do
16
+ it "has a filename" do
17
17
  assert subject.filename
18
18
  end
19
19
 
20
- it 'has source equal to src' do
20
+ it "has source equal to src" do
21
21
  assert_equal subject.source, subject.src
22
22
  end
23
23
 
24
- it 'has a project filename which removes the project directory' do
25
- assert_equal '/test/fixtures/sample.rb', subject.project_filename
24
+ it "has a project filename which removes the project directory" do
25
+ assert_equal "/test/fixtures/sample.rb", subject.project_filename
26
26
  end
27
27
 
28
- it 'has source_lines equal to lines' do
28
+ it "has source_lines equal to lines" do
29
29
  assert_equal subject.source_lines, subject.lines
30
30
  end
31
31
 
32
- it 'has 16 source lines' do
32
+ it "has 16 source lines" do
33
33
  assert_equal 16, subject.lines.count
34
34
  end
35
35
 
36
- it 'has all source lines of type Coverband::Utils::SourceFile::Line' do
36
+ it "has all source lines of type Coverband::Utils::SourceFile::Line" do
37
37
  subject.lines.each do |line|
38
38
  assert line.is_a?(Coverband::Utils::SourceFile::Line)
39
39
  end
@@ -43,161 +43,111 @@ describe Coverband::Utils::SourceFile do
43
43
  assert_equal "class Foo\n", subject.line(2).source
44
44
  end
45
45
 
46
- it 'returns lines number 2, 3, 4, 7 for covered_lines' do
46
+ it "returns lines number 2, 3, 4, 7 for covered_lines" do
47
47
  assert_equal [2, 3, 4, 7], subject.covered_lines.map(&:line)
48
48
  end
49
49
 
50
- it 'returns lines number 8 for missed_lines' do
50
+ it "returns lines number 8 for missed_lines" do
51
51
  assert_equal [8], subject.missed_lines.map(&:line)
52
52
  end
53
53
 
54
- it 'returns lines number 1, 5, 6, 9, 10, 16 for never_lines' do
54
+ it "returns lines number 1, 5, 6, 9, 10, 16 for never_lines" do
55
55
  assert_equal [1, 5, 6, 9, 10, 16], subject.never_lines.map(&:line)
56
56
  end
57
57
 
58
- it 'returns line numbers 11, 12, 13, 14, 15 for skipped_lines' do
58
+ it "returns line numbers 11, 12, 13, 14, 15 for skipped_lines" do
59
59
  assert_equal [11, 12, 13, 14, 15], subject.skipped_lines.map(&:line)
60
60
  end
61
61
 
62
- it 'has 80% covered_percent' do
62
+ it "has 80% covered_percent" do
63
63
  assert_equal 80.0, subject.covered_percent
64
64
  end
65
65
 
66
- it 'working for nil last_updated_at' do
66
+ it "working for nil last_updated_at" do
67
67
  assert_equal "not available", subject.last_updated_at
68
68
  end
69
69
  end
70
70
 
71
- describe 'simulating potential Ruby 1.9 defect -- see Issue #56' do
71
+ describe "simulating potential Ruby 1.9 defect -- see Issue #56" do
72
72
  subject do
73
- Coverband::Utils::SourceFile.new(source_fixture('sample.rb'), COVERAGE_FOR_SAMPLE_RB + [nil])
73
+ Coverband::Utils::SourceFile.new(source_fixture("sample.rb"), COVERAGE_FOR_SAMPLE_RB + [nil])
74
74
  end
75
75
 
76
- it 'has 16 source lines regardless of extra data in coverage array' do
76
+ it "has 16 source lines regardless of extra data in coverage array" do
77
77
  # Do not litter test output with known warning
78
78
  capture_stderr { assert_equal 16, subject.lines.count }
79
79
  end
80
80
 
81
- it 'prints a warning to stderr if coverage array contains more data than lines in the file' do
82
- captured_output = capture_stderr do
81
+ it "prints a warning to stderr if coverage array contains more data than lines in the file" do
82
+ captured_output = capture_stderr {
83
83
  subject.lines
84
- end
84
+ }
85
85
 
86
86
  assert(captured_output.match(/^Warning: coverage data/))
87
87
  end
88
88
  end
89
89
 
90
- describe 'a file that is never relevant' do
90
+ describe "a file that is never relevant" do
91
91
  COVERAGE_FOR_NEVER_RB = [nil, nil].freeze
92
92
 
93
93
  subject do
94
- Coverband::Utils::SourceFile.new(source_fixture('never.rb'), COVERAGE_FOR_NEVER_RB)
94
+ Coverband::Utils::SourceFile.new(source_fixture("never.rb"), COVERAGE_FOR_NEVER_RB)
95
95
  end
96
96
 
97
- it 'has 0.0 covered_strength' do
97
+ it "has 0.0 covered_strength" do
98
98
  assert_equal 0.0, subject.covered_strength
99
99
  end
100
100
 
101
- it 'has 0.0 covered_percent' do
101
+ it "has 0.0 covered_percent" do
102
102
  assert_equal 100.0, subject.covered_percent
103
103
  end
104
104
  end
105
105
 
106
- describe 'a file where nothing is ever executed mixed with skipping #563' do
106
+ describe "a file where nothing is ever executed mixed with skipping #563" do
107
107
  COVERAGE_FOR_SKIPPED_RB = [nil, nil, nil, nil].freeze
108
108
 
109
109
  subject do
110
- Coverband::Utils::SourceFile.new(source_fixture('skipped.rb'), COVERAGE_FOR_SKIPPED_RB)
110
+ Coverband::Utils::SourceFile.new(source_fixture("skipped.rb"), COVERAGE_FOR_SKIPPED_RB)
111
111
  end
112
112
 
113
- it 'has 0.0 covered_strength' do
113
+ it "has 0.0 covered_strength" do
114
114
  assert_equal 0.0, subject.covered_strength
115
115
  end
116
116
 
117
- it 'has 0.0 covered_percent' do
117
+ it "has 0.0 covered_percent" do
118
118
  assert_equal 0.0, subject.covered_percent
119
119
  end
120
120
  end
121
121
 
122
- describe 'a file where everything is skipped and missed #563' do
122
+ describe "a file where everything is skipped and missed #563" do
123
123
  COVERAGE_FOR_SKIPPED_RB_2 = [nil, nil, 0, nil].freeze
124
124
 
125
125
  subject do
126
- Coverband::Utils::SourceFile.new(source_fixture('skipped.rb'), COVERAGE_FOR_SKIPPED_RB_2)
126
+ Coverband::Utils::SourceFile.new(source_fixture("skipped.rb"), COVERAGE_FOR_SKIPPED_RB_2)
127
127
  end
128
128
 
129
- it 'has 0.0 covered_strength' do
129
+ it "has 0.0 covered_strength" do
130
130
  assert_equal 0.0, subject.covered_strength
131
131
  end
132
132
 
133
- it 'has 0.0 covered_percent' do
133
+ it "has 0.0 covered_percent" do
134
134
  assert_equal 0.0, subject.covered_percent
135
135
  end
136
136
  end
137
137
 
138
- describe 'a file where everything is skipped/irrelevamt but executed #563' do
138
+ describe "a file where everything is skipped/irrelevamt but executed #563" do
139
139
  COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB = [nil, nil, 1, 1, 0, nil, nil, nil].freeze
140
140
 
141
141
  subject do
142
- Coverband::Utils::SourceFile.new(source_fixture('skipped_and_executed.rb'), COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB)
142
+ Coverband::Utils::SourceFile.new(source_fixture("skipped_and_executed.rb"), COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB)
143
143
  end
144
144
 
145
- it 'has 0.0 covered_strength' do
145
+ it "has 0.0 covered_strength" do
146
146
  assert_equal 0.0, subject.covered_strength
147
147
  end
148
148
 
149
- it 'has 0.0 covered_percent' do
149
+ it "has 0.0 covered_percent" do
150
150
  assert_equal 0.0, subject.covered_percent
151
151
  end
152
152
  end
153
-
154
- describe 'correctly identifies gems' do
155
- COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB = [nil, nil, 1, 1, 0, 1, 1, nil].freeze
156
-
157
- describe 'the word gem in a path' do
158
- subject do
159
- Coverband::Utils::SourceFile.new('lib/rubocop/cop/gemspec/required_ruby_version.rb', COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB)
160
- end
161
-
162
- it 'allows the word gem in path' do
163
- assert_equal nil, subject.gem?
164
- end
165
- end
166
-
167
- describe 'a folder gem in the path' do
168
- subject do
169
- Coverband::Utils::SourceFile.new('/var/gems/rubocop-0.67.0/lib/rubocop/cop/gemspec/required_ruby_version.rb', COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB)
170
- end
171
-
172
- it 'allows the word gem in path' do
173
- assert subject.gem?
174
- end
175
- end
176
- end
177
-
178
- describe 'correctly reports gem name' do
179
- COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB = [nil, nil, 1, 1, 0, 1, 1, nil].freeze
180
-
181
- describe 'the word gem in a path' do
182
- subject do
183
- Coverband::Utils::SourceFile.new('lib/rubocop/cop/gemspec/required_ruby_version.rb', COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB)
184
- end
185
-
186
- it 'allows the word gem in path' do
187
- assert_equal nil, subject.gem_name
188
- end
189
- end
190
-
191
- describe 'a folder gem in the path' do
192
- subject do
193
- Coverband::Utils::SourceFile.new('/var/gems/rubocop-0.67.0/lib/rubocop/cop/gemspec/required_ruby_version.rb', COVERAGE_FOR_SKIPPED_AND_EXECUTED_RB)
194
- end
195
-
196
- it 'allows the word gem in path' do
197
- assert_equal 'rubocop-0.67.0', subject.gem_name
198
- end
199
- end
200
- end
201
-
202
-
203
153
  end