coverband 1.5.4 → 2.0.0.alpha

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.travis.yml +3 -0
  4. data/Gemfile +2 -1
  5. data/Rakefile +5 -3
  6. data/coverband.gemspec +27 -23
  7. data/lib/coverband.rb +10 -14
  8. data/lib/coverband/adapters/file_store.rb +6 -7
  9. data/lib/coverband/adapters/memory_cache_store.rb +8 -5
  10. data/lib/coverband/adapters/redis_store.rb +10 -50
  11. data/lib/coverband/baseline.rb +5 -5
  12. data/lib/coverband/collectors/base.rb +140 -0
  13. data/lib/coverband/collectors/coverage.rb +148 -0
  14. data/lib/coverband/collectors/trace.rb +100 -0
  15. data/lib/coverband/configuration.rb +8 -10
  16. data/lib/coverband/middleware.rb +5 -5
  17. data/lib/coverband/reporters/base.rb +26 -31
  18. data/lib/coverband/reporters/console_report.rb +2 -3
  19. data/lib/coverband/reporters/simple_cov_report.rb +5 -6
  20. data/lib/coverband/s3_report_writer.rb +7 -8
  21. data/lib/coverband/s3_web.rb +3 -5
  22. data/lib/coverband/tasks.rb +23 -26
  23. data/lib/coverband/version.rb +3 -1
  24. data/test/benchmarks/benchmark.rake +38 -32
  25. data/test/benchmarks/dog.rb +3 -3
  26. data/test/fake_app/basic_rack.rb +4 -2
  27. data/test/test_helper.rb +17 -11
  28. data/test/unit/adapters_file_store_test.rb +12 -11
  29. data/test/unit/adapters_memory_cache_store_test.rb +3 -4
  30. data/test/unit/adapters_redis_store_test.rb +42 -118
  31. data/test/unit/baseline_test.rb +17 -20
  32. data/test/unit/collectors_base_test.rb +96 -0
  33. data/test/unit/collectors_coverage_test.rb +137 -0
  34. data/test/unit/collectors_trace_test.rb +96 -0
  35. data/test/unit/configuration_test.rb +8 -8
  36. data/test/unit/dog.rb +3 -1
  37. data/test/unit/middleware_test.rb +70 -61
  38. data/test/unit/reports_base_test.rb +62 -62
  39. data/test/unit/reports_console_test.rb +18 -21
  40. data/test/unit/reports_simple_cov_test.rb +23 -26
  41. data/test/unit/s3_report_writer_test.rb +6 -8
  42. data/test/unit/s3_web_test.rb +2 -1
  43. metadata +45 -25
  44. data/lib/coverband/base.rb +0 -210
  45. data/test/unit/base_test.rb +0 -100
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path('../test_helper', File.dirname(__FILE__))
4
+ require File.expand_path('./dog', File.dirname(__FILE__))
5
+
6
+ class CollectorsTraceTest < Test::Unit::TestCase
7
+ test 'defaults to a redis store' do
8
+ coverband = Coverband::Collectors::Base.instance.reset_instance
9
+ assert_equal Coverband::Adapters::RedisStore, coverband.instance_variable_get('@store').class
10
+ end
11
+
12
+ test 'configure memory caching' do
13
+ Coverband.configuration.memory_caching = true
14
+ coverband = Coverband::Collectors::Base.instance.reset_instance
15
+ assert_equal Coverband::Adapters::MemoryCacheStore, coverband.instance_variable_get('@store').class
16
+ Coverband.configuration.memory_caching = false
17
+ end
18
+
19
+ test 'start should enable coverage' do
20
+ coverband = Coverband::Collectors::Base.instance.reset_instance
21
+ assert_equal false, coverband.instance_variable_get('@enabled')
22
+ coverband.expects(:record_coverage).once
23
+ coverband.start
24
+ assert_equal true, coverband.instance_variable_get('@enabled')
25
+ end
26
+
27
+ test 'stop should disable coverage' do
28
+ coverband = Coverband::Collectors::Base.instance.reset_instance
29
+ assert_equal false, coverband.instance_variable_get('@enabled')
30
+ coverband.expects(:record_coverage).once
31
+ coverband.start
32
+ assert_equal true, coverband.instance_variable_get('@enabled')
33
+ coverband.stop
34
+ assert_equal false, coverband.instance_variable_get('@enabled')
35
+ assert_equal false, coverband.instance_variable_get('@tracer_set')
36
+ end
37
+
38
+ test 'allow for sampling with a block and enable when 100 percent sample' do
39
+ logger = Logger.new(STDOUT)
40
+ coverband = Coverband::Collectors::Base.instance.reset_instance
41
+ coverband.instance_variable_set('@sample_percentage', 100.0)
42
+ coverband.instance_variable_set('@verbose', true)
43
+ coverband.instance_variable_set('@logger', logger)
44
+ coverband.instance_variable_set('@store', nil)
45
+ assert_equal false, coverband.instance_variable_get('@enabled')
46
+ logger.expects(:info).at_least_once
47
+ coverband.sample { 1 + 1 }
48
+ assert_equal true, coverband.instance_variable_get('@enabled')
49
+ end
50
+
51
+ test 'allow reporting with start stop save' do
52
+ logger = Logger.new(STDOUT)
53
+ coverband = Coverband::Collectors::Base.instance.reset_instance
54
+ coverband.instance_variable_set('@sample_percentage', 100.0)
55
+ coverband.instance_variable_set('@verbose', true)
56
+ coverband.instance_variable_set('@logger', logger)
57
+ coverband.instance_variable_set('@store', nil)
58
+ assert_equal false, coverband.instance_variable_get('@enabled')
59
+ logger.expects(:info).at_least_once
60
+ coverband.start
61
+ logger.info(1 + 1)
62
+ coverband.stop
63
+ coverband.save
64
+ end
65
+
66
+ test 'allow reporting to redis start stop save' do
67
+ dog_file = File.expand_path('./dog.rb', File.dirname(__FILE__))
68
+ coverband = Coverband::Collectors::Base.instance.reset_instance
69
+ coverband.instance_variable_set('@sample_percentage', 100.0)
70
+ coverband.instance_variable_set('@verbose', true)
71
+ Coverband.configuration.logger.stubs('info')
72
+ store = Coverband::Adapters::RedisStore.new(Redis.new)
73
+ coverband.instance_variable_set('@store', store)
74
+ store.expects(:save_report).once.with(has_entries(dog_file => { 5 => 5 }))
75
+ assert_equal false, coverband.instance_variable_get('@enabled')
76
+ coverband.start
77
+ 5.times { Dog.new.bark }
78
+ coverband.stop
79
+ coverband.save
80
+ end
81
+
82
+ test 'tracer should count line numbers' do
83
+ dog_file = File.expand_path('./dog.rb', File.dirname(__FILE__))
84
+ coverband = Coverband::Collectors::Base.instance.reset_instance
85
+ coverband.start
86
+ 100.times { Dog.new.bark }
87
+ assert_equal 100, coverband.instance_variable_get('@file_line_usage')[dog_file][5]
88
+ coverband.stop
89
+ coverband.save
90
+ end
91
+
92
+ test 'sample should return the result of the block' do
93
+ coverband = Coverband::Collectors::Base.instance.reset_instance
94
+ assert_equal 2, coverband.sample { 1 + 1 }
95
+ end
96
+ end
@@ -1,21 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require File.expand_path('../test_helper', File.dirname(__FILE__))
2
4
 
3
5
  class BaseTest < Test::Unit::TestCase
4
-
5
- test "defaults to line trace point event" do
6
+ test 'defaults to line trace point event' do
6
7
  assert_equal Coverband.configuration.trace_point_events, [:line]
7
8
  end
8
9
 
9
- test "defaults to ignore gems" do
10
+ test 'defaults to ignore gems' do
10
11
  assert_equal Coverband.configuration.include_gems, false
11
- coverband = Coverband::Base.instance.reset_instance
12
- assert_equal ['vendor', 'internal:prelude', 'schema.rb', 'gems'], coverband.instance_variable_get("@ignore_patterns")
12
+ coverband = Coverband::Collectors::Base.instance.reset_instance
13
+ assert_equal ['vendor', 'internal:prelude', 'schema.rb', 'gems'], coverband.instance_variable_get('@ignore_patterns')
13
14
  end
14
15
 
15
16
  test "doesn't ignore gems if include_gems = true" do
16
17
  Coverband.configuration.include_gems = true
17
- coverband = Coverband::Base.instance.reset_instance
18
- assert_equal ['vendor', 'internal:prelude', 'schema.rb'], coverband.instance_variable_get("@ignore_patterns")
18
+ coverband = Coverband::Collectors::Base.instance.reset_instance
19
+ assert_equal ['vendor', 'internal:prelude', 'schema.rb'], coverband.instance_variable_get('@ignore_patterns')
19
20
  end
20
-
21
21
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Dog
2
4
  def bark
3
- "woof"
5
+ 'woof'
4
6
  end
5
7
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require File.expand_path('../test_helper', File.dirname(__FILE__))
2
4
  require File.expand_path('../fake_app/basic_rack', File.dirname(__FILE__))
3
5
  require 'rack'
@@ -5,128 +7,135 @@ require 'rack'
5
7
  class MiddlewareTest < Test::Unit::TestCase
6
8
  BASE_KEY = Coverband::Adapters::RedisStore::BASE_KEY
7
9
 
8
- test "call app" do
9
- request = Rack::MockRequest.env_for("/anything.json")
10
- Coverband::Base.instance.reset_instance
10
+ test 'call app' do
11
+ request = Rack::MockRequest.env_for('/anything.json')
12
+ Coverband::Collectors::Base.instance.reset_instance
11
13
  middleware = Coverband::Middleware.new(fake_app)
12
14
  results = middleware.call(request)
13
- assert_equal "/anything.json", results.last
15
+ assert_equal '/anything.json', results.last
14
16
  end
15
17
 
16
18
  test 'pass all rack lint checks' do
17
- Coverband::Base.instance.reset_instance
19
+ Coverband::Collectors::Base.instance.reset_instance
18
20
  app = Rack::Lint.new(Coverband::Middleware.new(fake_app))
19
21
  env = Rack::MockRequest.env_for('/hello')
20
22
  app.call(env)
21
23
  end
22
24
 
23
25
  test 'always be enabled with sample percentage of 100' do
24
- request = Rack::MockRequest.env_for("/anything.json")
25
- Coverband::Base.instance.reset_instance
26
+ request = Rack::MockRequest.env_for('/anything.json')
27
+ Coverband::Collectors::Base.instance.reset_instance
26
28
  middleware = Coverband::Middleware.new(fake_app)
27
- assert_equal false, Coverband::Base.instance.instance_variable_get("@enabled")
28
- Coverband::Base.instance.instance_variable_set("@sample_percentage", 100.0)
29
- results = middleware.call(request)
30
- assert_equal true, Coverband::Base.instance.instance_variable_get("@enabled")
29
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
30
+ Coverband::Collectors::Base.instance.instance_variable_set('@sample_percentage', 100.0)
31
+ middleware.call(request)
32
+ assert_equal true, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
31
33
  end
32
34
 
33
35
  test 'never be enabled with sample percentage of 0' do
34
- request = Rack::MockRequest.env_for("/anything.json")
35
- Coverband::Base.instance.reset_instance
36
+ request = Rack::MockRequest.env_for('/anything.json')
37
+ Coverband::Collectors::Base.instance.reset_instance
36
38
  middleware = Coverband::Middleware.new(fake_app)
37
- assert_equal false, Coverband::Base.instance.instance_variable_get("@enabled")
38
- Coverband::Base.instance.instance_variable_set("@sample_percentage", 0.0)
39
- results = middleware.call(request)
40
- assert_equal false, Coverband::Base.instance.instance_variable_get("@enabled")
39
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
40
+ Coverband::Collectors::Base.instance.instance_variable_set('@sample_percentage', 0.0)
41
+ middleware.call(request)
42
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
41
43
  end
42
44
 
43
45
  test 'always unset function when sampling' do
44
- request = Rack::MockRequest.env_for("/anything.json")
45
- Coverband::Base.instance.reset_instance
46
+ request = Rack::MockRequest.env_for('/anything.json')
47
+ Coverband::Collectors::Base.instance.reset_instance
46
48
  middleware = Coverband::Middleware.new(fake_app)
47
- assert_equal false, Coverband::Base.instance.instance_variable_get("@tracer_set")
48
- Coverband::Base.instance.instance_variable_set("@sample_percentage", 100.0)
49
- results = middleware.call(request)
50
- assert_equal false, Coverband::Base.instance.instance_variable_get("@tracer_set")
49
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@tracer_set')
50
+ Coverband::Collectors::Base.instance.instance_variable_set('@sample_percentage', 100.0)
51
+ middleware.call(request)
52
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@tracer_set')
51
53
  end
52
54
 
53
55
  test 'always unset function when not sampling' do
54
- request = Rack::MockRequest.env_for("/anything.json")
55
- Coverband::Base.instance.reset_instance
56
+ request = Rack::MockRequest.env_for('/anything.json')
57
+ Coverband::Collectors::Base.instance.reset_instance
56
58
  middleware = Coverband::Middleware.new(fake_app)
57
- assert_equal false, Coverband::Base.instance.instance_variable_get("@tracer_set")
58
- middleware.instance_variable_set("@sample_percentage", 0.0)
59
- results = middleware.call(request)
60
- assert_equal false, Coverband::Base.instance.instance_variable_get("@tracer_set")
59
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@tracer_set')
60
+ middleware.instance_variable_set('@sample_percentage', 0.0)
61
+ middleware.call(request)
62
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@tracer_set')
61
63
  end
62
64
 
63
65
  test 'always record coverage, set trace func, and add_files when sampling' do
64
- request = Rack::MockRequest.env_for("/anything.json")
65
- Coverband::Base.instance.reset_instance
66
+ request = Rack::MockRequest.env_for('/anything.json')
67
+ Coverband::Collectors::Base.instance.reset_instance
66
68
  middleware = Coverband::Middleware.new(fake_app)
67
- assert_equal false, Coverband::Base.instance.instance_variable_get("@enabled")
68
- Coverband::Base.instance.instance_variable_set("@sample_percentage", 100.0)
69
- results = middleware.call(request)
70
- assert_equal true, Coverband::Base.instance.instance_variable_get("@enabled")
69
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
70
+ Coverband::Collectors::Base.instance.instance_variable_set('@sample_percentage', 100.0)
71
+ middleware.call(request)
72
+ assert_equal true, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
71
73
  end
72
74
 
73
75
  test 'reports coverage when an error is raised' do
74
- request = Rack::MockRequest.env_for("/anything.json")
75
- Coverband::Base.instance.reset_instance
76
- Coverband::Base.instance.expects(:report_coverage).once
76
+ request = Rack::MockRequest.env_for('/anything.json')
77
+ Coverband::Collectors::Base.instance.reset_instance
78
+ Coverband::Collectors::Base.instance.expects(:report_coverage).once
77
79
  middleware = Coverband::Middleware.new(fake_app_raise_error)
78
- middleware.call(request) rescue nil
80
+ begin
81
+ middleware.call(request)
82
+ rescue StandardError
83
+ nil
84
+ end
79
85
  end
80
86
 
81
87
  test 'always report coverage when sampling' do
82
- request = Rack::MockRequest.env_for("/anything.json")
83
- Coverband::Base.instance.reset_instance
88
+ request = Rack::MockRequest.env_for('/anything.json')
89
+ Coverband::Collectors::Base.instance.reset_instance
84
90
  middleware = Coverband::Middleware.new(fake_app_with_lines)
85
- assert_equal false, Coverband::Base.instance.instance_variable_get("@enabled")
86
- Coverband::Base.instance.instance_variable_set("@sample_percentage", 100.0)
91
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
92
+ Coverband::Collectors::Base.instance.instance_variable_set('@sample_percentage', 100.0)
87
93
  fake_redis = Redis.new
88
- Coverband::Base.instance.instance_variable_set("@store", Coverband::Adapters::RedisStore.new(fake_redis))
89
- fake_redis.stubs(:info).returns({'redis_version' => 3.0})
94
+ redis_store = Coverband::Adapters::RedisStore.new(fake_redis)
95
+ redis_store.clear!
96
+ Coverband::Collectors::Base.instance.instance_variable_set('@store', redis_store)
97
+ fake_redis.stubs(:info).returns('redis_version' => 3.0)
90
98
  fake_redis.expects(:sadd).at_least_once
91
99
  fake_redis.expects(:mapped_hmset).at_least_once
92
- fake_redis.expects(:mapped_hmset).at_least_once.with("#{BASE_KEY}.#{basic_rack_ruby_file}", {'5' => 1})
93
- results = middleware.call(request)
94
- assert_equal true, Coverband::Base.instance.instance_variable_get("@enabled")
100
+ fake_redis.expects(:mapped_hmset).at_least_once.with("#{BASE_KEY}.#{basic_rack_ruby_file}", '7' => 1)
101
+ middleware.call(request)
102
+ assert_equal true, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
95
103
  end
96
104
 
97
105
  test 'report only on calls when configured' do
98
- request = Rack::MockRequest.env_for("/anything.json")
106
+ request = Rack::MockRequest.env_for('/anything.json')
99
107
  Coverband.configuration.trace_point_events = [:call]
100
- Coverband::Base.instance.reset_instance
108
+ Coverband::Collectors::Base.instance.reset_instance
101
109
  middleware = Coverband::Middleware.new(fake_app_with_lines)
102
- assert_equal false, Coverband::Base.instance.instance_variable_get("@enabled")
103
- Coverband::Base.instance.instance_variable_set("@sample_percentage", 100.0)
110
+ assert_equal false, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
111
+ Coverband::Collectors::Base.instance.instance_variable_set('@sample_percentage', 100.0)
104
112
  fake_redis = Redis.new
105
- Coverband::Base.instance.instance_variable_set("@store", Coverband::Adapters::RedisStore.new(fake_redis))
106
- fake_redis.stubs(:info).returns({'redis_version' => 3.0})
113
+ redis_store = Coverband::Adapters::RedisStore.new(fake_redis)
114
+ redis_store.clear!
115
+ Coverband::Collectors::Base.instance.instance_variable_set('@store', redis_store)
116
+ fake_redis.stubs(:info).returns('redis_version' => 3.0)
107
117
  fake_redis.expects(:sadd).at_least_once
108
118
  fake_redis.expects(:mapped_hmset).at_least_once
109
- fake_redis.expects(:mapped_hmset).at_least_once.with("#{BASE_KEY}.#{basic_rack_ruby_file}", {'4'=>1})
110
- results = middleware.call(request)
111
- assert_equal true, Coverband::Base.instance.instance_variable_get("@enabled")
119
+ fake_redis.expects(:mapped_hmset).at_least_once.with("#{BASE_KEY}.#{basic_rack_ruby_file}", '6' => 1)
120
+ middleware.call(request)
121
+ assert_equal true, Coverband::Collectors::Base.instance.instance_variable_get('@enabled')
112
122
  end
113
123
 
114
124
  private
115
125
 
116
126
  def fake_app
117
- @app ||= lambda { |env| [200, {'Content-Type' => 'text/plain'}, env['PATH_INFO']] }
127
+ @fake_app ||= ->(env) { [200, { 'Content-Type' => 'text/plain' }, env['PATH_INFO']] }
118
128
  end
119
129
 
120
130
  def fake_app_raise_error
121
- @fake_app_raise_error ||= lambda { raise "sh** happens" }
131
+ @fake_app_raise_error ||= -> { raise 'sh** happens' }
122
132
  end
123
133
 
124
134
  def fake_app_with_lines
125
- @lines_app ||= ::HelloWorld.new
135
+ @fake_app_with_lines ||= ::HelloWorld.new
126
136
  end
127
137
 
128
138
  def basic_rack_ruby_file
129
139
  File.expand_path('../fake_app/basic_rack.rb', File.dirname(__FILE__))
130
140
  end
131
-
132
141
  end
@@ -1,64 +1,65 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require File.expand_path('../test_helper', File.dirname(__FILE__))
2
4
 
3
5
  class ReportsBaseTest < Test::Unit::TestCase
4
-
5
- test "filename_from_key fix filename from a key with a swappable path" do
6
+ test 'filename_from_key fix filename from a key with a swappable path' do
6
7
  Coverband.configure do |config|
7
8
  config.reporter = 'std_out'
8
9
  config.root = '/full/remote_app/path'
9
10
  end
10
11
 
11
- key = "/app/is/a/path.rb"
12
- #the code takes config.root expands and adds a '/' for the final path in roots
13
- roots = ["/app/", '/full/remote_app/path/']
12
+ key = '/app/is/a/path.rb'
13
+ # the code takes config.root expands and adds a '/' for the final path in roots
14
+ roots = ['/app/', '/full/remote_app/path/']
14
15
 
15
- assert_equal "/full/remote_app/path/is/a/path.rb", Coverband::Reporters::Base.filename_from_key(key, roots)
16
+ assert_equal '/full/remote_app/path/is/a/path.rb', Coverband::Reporters::Base.filename_from_key(key, roots)
16
17
  end
17
18
 
18
- test "filename_from_key fix filename a changing deploy path with double quotes" do
19
+ test 'filename_from_key fix filename a changing deploy path with double quotes' do
19
20
  Coverband.configure do |config|
20
21
  config.reporter = 'std_out'
21
22
  config.root = '/full/remote_app/path'
22
23
  end
23
24
 
24
- key = "/box/apps/app_name/releases/20140725203539/app/models/user.rb"
25
+ key = '/box/apps/app_name/releases/20140725203539/app/models/user.rb'
25
26
  # the code takes config.root expands and adds a '/' for the final path in roots
26
27
  # note to get regex to work for changing deploy directories it must be double escaped in double quotes or use single qoutes
27
- roots = ["/box/apps/app_name/releases/\\d+/", '/full/remote_app/path/']
28
+ roots = ['/box/apps/app_name/releases/\\d+/', '/full/remote_app/path/']
28
29
 
29
- assert_equal "/full/remote_app/path/app/models/user.rb", Coverband::Reporters::Base.filename_from_key(key, roots)
30
+ assert_equal '/full/remote_app/path/app/models/user.rb', Coverband::Reporters::Base.filename_from_key(key, roots)
30
31
  end
31
32
 
32
- test "filename_from_key fix filename a changing deploy path with single quotes" do
33
+ test 'filename_from_key fix filename a changing deploy path with single quotes' do
33
34
  Coverband.configure do |config|
34
35
  config.reporter = 'std_out'
35
36
  config.root = '/full/remote_app/path'
36
37
  end
37
38
 
38
- key = "/box/apps/app_name/releases/20140725203539/app/models/user.rb"
39
+ key = '/box/apps/app_name/releases/20140725203539/app/models/user.rb'
39
40
  # the code takes config.root expands and adds a '/' for the final path in roots
40
41
  # note to get regex to work for changing deploy directories it must be double escaped in double quotes or use single qoutes
41
42
  roots = ['/box/apps/app_name/releases/\d+/', '/full/remote_app/path/']
42
43
 
43
- assert_equal "/full/remote_app/path/app/models/user.rb", Coverband::Reporters::Base.filename_from_key(key, roots)
44
+ assert_equal '/full/remote_app/path/app/models/user.rb', Coverband::Reporters::Base.filename_from_key(key, roots)
44
45
  end
45
46
 
46
- test "filename_from_key leave filename from a key with a local path" do
47
+ test 'filename_from_key leave filename from a key with a local path' do
47
48
  Coverband.configure do |config|
48
49
  config.reporter = 'std_out'
49
50
  config.root = '/full/remote_app/path'
50
51
  end
51
52
 
52
- key = "/full/remote_app/path/is/a/path.rb"
53
- #the code takes config.root expands and adds a '/' for the final path in roots
54
- roots = ["/app/", '/full/remote_app/path/']
53
+ key = '/full/remote_app/path/is/a/path.rb'
54
+ # the code takes config.root expands and adds a '/' for the final path in roots
55
+ roots = ['/app/', '/full/remote_app/path/']
55
56
 
56
- assert_equal "/full/remote_app/path/is/a/path.rb", Coverband::Reporters::Base.filename_from_key(key, roots)
57
+ assert_equal '/full/remote_app/path/is/a/path.rb', Coverband::Reporters::Base.filename_from_key(key, roots)
57
58
  end
58
59
 
59
- test "line_hash gets correct hash entry for a line key" do
60
+ test 'line_hash gets correct hash entry for a line key' do
60
61
  @fake_redis = fake_redis
61
- store = Coverband::Adapters::RedisStore.new(@fake_redis, array: true)
62
+ store = Coverband::Adapters::RedisStore.new(@fake_redis)
62
63
 
63
64
  Coverband.configure do |config|
64
65
  config.redis = @fake_redis
@@ -66,23 +67,23 @@ class ReportsBaseTest < Test::Unit::TestCase
66
67
  config.root = '/full/remote_app/path'
67
68
  end
68
69
 
69
- key = "/full/remote_app/path/is/a/path.rb"
70
- #the code takes config.root expands and adds a '/'
71
- roots = ["/app/", '/full/remote_app/path/']
72
-
73
- lines_hit = ['1','3','6']
74
- @fake_redis.stubs(:smembers).returns(lines_hit)
75
- #expects to show hit counts on 1,3,6
76
- expected = {"/full/remote_app/path/is/a/path.rb" => [1,nil,1,nil,nil,1]}
77
- File.stubs(:exists?).returns(true)
78
- File.stubs(:foreach).returns(['line 1','line2','line3','line4','line5','line6'])
79
-
70
+ key = '/full/remote_app/path/is/a/path.rb'
71
+ # the code takes config.root expands and adds a '/'
72
+ roots = ['/app/', '/full/remote_app/path/']
73
+
74
+ lines_hit = [1, 3, 6]
75
+ store.stubs(:covered_lines_for_file).returns(lines_hit)
76
+ # expects to show hit counts on 1,3,6
77
+ expected = { '/full/remote_app/path/is/a/path.rb' => [1, nil, 1, nil, nil, 1] }
78
+ File.stubs(:exist?).returns(true)
79
+ File.stubs(:foreach).returns(['line 1', 'line2', 'line3', 'line4', 'line5', 'line6'])
80
+
80
81
  assert_equal expected, Coverband::Reporters::Base.line_hash(store, key, roots)
81
82
  end
82
83
 
83
- test "line_hash adjusts relative paths" do
84
+ test 'line_hash adjusts relative paths' do
84
85
  @fake_redis = fake_redis
85
- store = Coverband::Adapters::RedisStore.new(@fake_redis, array: true)
86
+ store = Coverband::Adapters::RedisStore.new(@fake_redis)
86
87
 
87
88
  Coverband.configure do |config|
88
89
  config.redis = @fake_redis
@@ -90,51 +91,50 @@ class ReportsBaseTest < Test::Unit::TestCase
90
91
  config.root = '/full/remote_app/path'
91
92
  end
92
93
 
93
- key = "./is/a/path.rb"
94
- #the code takes config.root expands and adds a '/'
95
- roots = ["/app/", '/full/remote_app/path/']
96
-
97
- lines_hit = ['1','3','6']
98
- @fake_redis.stubs(:smembers).returns(lines_hit)
99
- #expects to show hit counts on 1,3,6
100
- expected = {"/full/remote_app/path/is/a/path.rb" => [1,nil,1,nil,nil,1]}
101
- File.stubs(:exists?).returns(true)
102
- File.stubs(:foreach).returns(['line 1','line2','line3','line4','line5','line6'])
103
-
94
+ key = './is/a/path.rb'
95
+ # the code takes config.root expands and adds a '/'
96
+ roots = ['/app/', '/full/remote_app/path/']
97
+
98
+ lines_hit = [1, 3, 6]
99
+ store.stubs(:covered_lines_for_file).returns(lines_hit)
100
+ # expects to show hit counts on 1,3,6
101
+ expected = { '/full/remote_app/path/is/a/path.rb' => [1, nil, 1, nil, nil, 1] }
102
+ File.stubs(:exist?).returns(true)
103
+ File.stubs(:foreach).returns(['line 1', 'line2', 'line3', 'line4', 'line5', 'line6'])
104
+
104
105
  assert_equal expected, Coverband::Reporters::Base.line_hash(store, key, roots)
105
106
  end
106
107
 
107
- test "#merge_arrays basic merge preserves order and counts" do
108
- first = [0,0,1,0,1]
109
- second = [nil,0,1,0,0]
110
- expects = [0,0,2,0,1]
108
+ test '#merge_arrays basic merge preserves order and counts' do
109
+ first = [0, 0, 1, 0, 1]
110
+ second = [nil, 0, 1, 0, 0]
111
+ expects = [0, 0, 2, 0, 1]
111
112
 
112
113
  assert_equal expects, Coverband::Reporters::Base.merge_arrays(first, second)
113
114
  end
114
115
 
115
- test "#merge_arrays basic merge preserves order and counts different lengths" do
116
- first = [0,0,1,0,1]
117
- second = [nil,0,1,0,0,0,0,1]
118
- expects = [0,0,2,0,1,0,0,1]
116
+ test '#merge_arrays basic merge preserves order and counts different lengths' do
117
+ first = [0, 0, 1, 0, 1]
118
+ second = [nil, 0, 1, 0, 0, 0, 0, 1]
119
+ expects = [0, 0, 2, 0, 1, 0, 0, 1]
119
120
 
120
121
  assert_equal expects, Coverband::Reporters::Base.merge_arrays(first, second)
121
122
  end
122
123
 
123
- test "#merge_existing_coverage basic merge preserves order and counts different lengths" do
124
- first = {"file.rb" => [0,1,2,nil,nil,nil]}
125
- second = {"file.rb" => [0,1,2,nil,0,1,2]}
126
- expects = {"file.rb" => [0,2,4,nil,0,1,2]}
124
+ test '#merge_existing_coverage basic merge preserves order and counts different lengths' do
125
+ first = { 'file.rb' => [0, 1, 2, nil, nil, nil] }
126
+ second = { 'file.rb' => [0, 1, 2, nil, 0, 1, 2] }
127
+ expects = { 'file.rb' => [0, 2, 4, nil, 0, 1, 2] }
127
128
 
128
129
  assert_equal expects, Coverband::Reporters::Base.merge_existing_coverage(first, second)
129
130
  end
130
131
 
131
- test "#merge_existing_coverage mismatched" do
132
- first = {"file.rb" => [0,1,2,nil,nil,nil]}
133
- second = {"diff.rb" => [0,1,2,nil,0,1,2]}
134
- expects = {"file.rb" => [0,1,2,nil,nil,nil],
135
- "diff.rb" => [0,1,2,nil,0,1,2]}
132
+ test '#merge_existing_coverage mismatched' do
133
+ first = { 'file.rb' => [0, 1, 2, nil, nil, nil] }
134
+ second = { 'diff.rb' => [0, 1, 2, nil, 0, 1, 2] }
135
+ expects = { 'file.rb' => [0, 1, 2, nil, nil, nil],
136
+ 'diff.rb' => [0, 1, 2, nil, 0, 1, 2] }
136
137
 
137
138
  assert_equal expects, Coverband::Reporters::Base.merge_existing_coverage(first, second)
138
139
  end
139
-
140
140
  end