rubycritic 2.9.2 → 2.9.3

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 (99) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop_todo.yml +6 -0
  4. data/.todo.reek +111 -108
  5. data/CHANGELOG.md +5 -0
  6. data/README.md +1 -1
  7. data/Rakefile +1 -1
  8. data/bin/rubycritic +1 -1
  9. data/features/command_line_interface/minimum_score.feature +1 -1
  10. data/features/command_line_interface/options.feature +2 -2
  11. data/features/rake_task.feature +5 -5
  12. data/features/step_definitions/rubycritic_steps.rb +4 -4
  13. data/features/support/env.rb +2 -2
  14. data/lib/rubycritic/analysers/attributes.rb +1 -1
  15. data/lib/rubycritic/analysers/churn.rb +1 -1
  16. data/lib/rubycritic/analysers/complexity.rb +1 -1
  17. data/lib/rubycritic/analysers/helpers/ast_node.rb +1 -1
  18. data/lib/rubycritic/analysers/helpers/flay.rb +1 -1
  19. data/lib/rubycritic/analysers/helpers/flog.rb +1 -1
  20. data/lib/rubycritic/analysers/helpers/methods_counter.rb +1 -1
  21. data/lib/rubycritic/analysers/helpers/modules_locator.rb +1 -1
  22. data/lib/rubycritic/analysers/helpers/parser.rb +1 -1
  23. data/lib/rubycritic/analysers/helpers/reek.rb +1 -1
  24. data/lib/rubycritic/analysers/smells/flay.rb +1 -1
  25. data/lib/rubycritic/analysers/smells/flog.rb +1 -1
  26. data/lib/rubycritic/analysers/smells/reek.rb +1 -1
  27. data/lib/rubycritic/analysers_runner.rb +1 -1
  28. data/lib/rubycritic/browser.rb +1 -1
  29. data/lib/rubycritic/cli/application.rb +2 -2
  30. data/lib/rubycritic/cli/options.rb +1 -1
  31. data/lib/rubycritic/colorize.rb +1 -1
  32. data/lib/rubycritic/command_factory.rb +1 -1
  33. data/lib/rubycritic/commands/base.rb +2 -2
  34. data/lib/rubycritic/commands/ci.rb +1 -1
  35. data/lib/rubycritic/commands/default.rb +1 -1
  36. data/lib/rubycritic/commands/help.rb +1 -1
  37. data/lib/rubycritic/commands/status_reporter.rb +1 -1
  38. data/lib/rubycritic/commands/version.rb +1 -1
  39. data/lib/rubycritic/configuration.rb +5 -1
  40. data/lib/rubycritic/core/analysed_module.rb +2 -2
  41. data/lib/rubycritic/core/analysed_modules_collection.rb +1 -1
  42. data/lib/rubycritic/core/location.rb +1 -1
  43. data/lib/rubycritic/core/rating.rb +1 -1
  44. data/lib/rubycritic/core/smell.rb +1 -1
  45. data/lib/rubycritic/generators/console_report.rb +1 -1
  46. data/lib/rubycritic/generators/html/assets/javascripts/jquery-2.1.0.js +1 -1
  47. data/lib/rubycritic/generators/html/base.rb +1 -1
  48. data/lib/rubycritic/generators/html/code_file.rb +1 -1
  49. data/lib/rubycritic/generators/html/code_index.rb +1 -1
  50. data/lib/rubycritic/generators/html/line.rb +1 -1
  51. data/lib/rubycritic/generators/html/overview.rb +1 -1
  52. data/lib/rubycritic/generators/html/smells_index.rb +1 -1
  53. data/lib/rubycritic/generators/html/turbulence.rb +1 -1
  54. data/lib/rubycritic/generators/html/view_helpers.rb +1 -1
  55. data/lib/rubycritic/generators/html_report.rb +2 -2
  56. data/lib/rubycritic/generators/json/simple.rb +13 -2
  57. data/lib/rubycritic/generators/json_report.rb +5 -2
  58. data/lib/rubycritic/generators/text/list.rb +1 -1
  59. data/lib/rubycritic/rake_task.rb +2 -2
  60. data/lib/rubycritic/reporter.rb +1 -1
  61. data/lib/rubycritic/revision_comparator.rb +1 -1
  62. data/lib/rubycritic/serializer.rb +1 -1
  63. data/lib/rubycritic/smells_status_setter.rb +1 -1
  64. data/lib/rubycritic/source_control_systems/base.rb +1 -1
  65. data/lib/rubycritic/source_control_systems/double.rb +1 -1
  66. data/lib/rubycritic/source_control_systems/git.rb +1 -1
  67. data/lib/rubycritic/source_control_systems/mercurial.rb +1 -1
  68. data/lib/rubycritic/source_locator.rb +1 -1
  69. data/lib/rubycritic/version.rb +2 -2
  70. data/lib/rubycritic.rb +1 -1
  71. data/rubycritic.gemspec +2 -1
  72. data/test/lib/rubycritic/analysers/churn_test.rb +3 -3
  73. data/test/lib/rubycritic/analysers/complexity_test.rb +2 -2
  74. data/test/lib/rubycritic/analysers/helpers/methods_counter_test.rb +4 -4
  75. data/test/lib/rubycritic/analysers/helpers/modules_locator_test.rb +9 -9
  76. data/test/lib/rubycritic/analysers/smells/flay_test.rb +4 -4
  77. data/test/lib/rubycritic/analysers/smells/flog_test.rb +2 -2
  78. data/test/lib/rubycritic/analysers/smells/reek_test.rb +2 -2
  79. data/test/lib/rubycritic/browser_test.rb +2 -2
  80. data/test/lib/rubycritic/commands/status_reporter_test.rb +7 -7
  81. data/test/lib/rubycritic/configuration_test.rb +9 -9
  82. data/test/lib/rubycritic/core/analysed_module_test.rb +9 -9
  83. data/test/lib/rubycritic/core/analysed_modules_collection_test.rb +3 -3
  84. data/test/lib/rubycritic/core/location_test.rb +7 -7
  85. data/test/lib/rubycritic/core/smell_test.rb +15 -15
  86. data/test/lib/rubycritic/core/smells_array_test.rb +12 -12
  87. data/test/lib/rubycritic/generators/console_report_test.rb +5 -5
  88. data/test/lib/rubycritic/generators/json_report_test.rb +36 -0
  89. data/test/lib/rubycritic/generators/turbulence_test.rb +2 -2
  90. data/test/lib/rubycritic/generators/view_helpers_test.rb +2 -2
  91. data/test/lib/rubycritic/revision_comparator_test.rb +10 -10
  92. data/test/lib/rubycritic/smells_status_setter_test.rb +4 -4
  93. data/test/lib/rubycritic/source_control_systems/base_test.rb +7 -7
  94. data/test/lib/rubycritic/source_control_systems/double_test.rb +1 -1
  95. data/test/lib/rubycritic/source_control_systems/git_test.rb +1 -1
  96. data/test/lib/rubycritic/source_control_systems/mercurial_test.rb +1 -1
  97. data/test/lib/rubycritic/source_locator_test.rb +12 -12
  98. data/test/lib/rubycritic/version_test.rb +2 -2
  99. metadata +18 -2
@@ -1,29 +1,29 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/configuration'
3
3
 
4
- describe Rubycritic::Configuration do
4
+ describe RubyCritic::Configuration do
5
5
  describe '#root' do
6
6
  before do
7
- Rubycritic::Config.set
8
- @default = Rubycritic::Config.root
7
+ RubyCritic::Config.set
8
+ @default = RubyCritic::Config.root
9
9
  end
10
10
 
11
11
  it 'has a default' do
12
- Rubycritic::Config.root.must_be_instance_of String
12
+ RubyCritic::Config.root.must_be_instance_of String
13
13
  end
14
14
 
15
15
  it 'can be set to a relative path' do
16
- Rubycritic::Config.root = 'foo'
17
- Rubycritic::Config.root.must_equal File.expand_path('foo')
16
+ RubyCritic::Config.root = 'foo'
17
+ RubyCritic::Config.root.must_equal File.expand_path('foo')
18
18
  end
19
19
 
20
20
  it 'can be set to an absolute path' do
21
- Rubycritic::Config.root = '/foo'
22
- Rubycritic::Config.root.must_equal '/foo'
21
+ RubyCritic::Config.root = '/foo'
22
+ RubyCritic::Config.root.must_equal '/foo'
23
23
  end
24
24
 
25
25
  after do
26
- Rubycritic::Config.root = @default
26
+ RubyCritic::Config.root = @default
27
27
  end
28
28
  end
29
29
  end
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
  require 'rubycritic/core/analysed_module'
3
3
  require 'rubycritic/core/smell'
4
4
 
5
- describe Rubycritic::AnalysedModule do
5
+ describe RubyCritic::AnalysedModule do
6
6
  describe 'attribute readers' do
7
7
  before do
8
8
  @name = 'Foo'
@@ -10,7 +10,7 @@ describe Rubycritic::AnalysedModule do
10
10
  @smells = []
11
11
  @churn = 1
12
12
  @complexity = 2
13
- @analysed_module = Rubycritic::AnalysedModule.new(
13
+ @analysed_module = RubyCritic::AnalysedModule.new(
14
14
  name: @name,
15
15
  pathname: @pathname,
16
16
  smells: @smells,
@@ -47,7 +47,7 @@ describe Rubycritic::AnalysedModule do
47
47
  describe '#cost' do
48
48
  it 'returns the remediation cost of fixing the analysed_module' do
49
49
  smells = [SmellDouble.new(cost: 1), SmellDouble.new(cost: 2)]
50
- analysed_module = Rubycritic::AnalysedModule.new(smells: smells, complexity: 0)
50
+ analysed_module = RubyCritic::AnalysedModule.new(smells: smells, complexity: 0)
51
51
  analysed_module.cost.must_equal 3
52
52
  end
53
53
  end
@@ -55,14 +55,14 @@ describe Rubycritic::AnalysedModule do
55
55
  describe '#complexity_per_method' do
56
56
  context 'when the file has no methods' do
57
57
  it 'returns a placeholder' do
58
- analysed_module = Rubycritic::AnalysedModule.new(complexity: 0, methods_count: 0)
58
+ analysed_module = RubyCritic::AnalysedModule.new(complexity: 0, methods_count: 0)
59
59
  analysed_module.complexity_per_method.must_equal 'N/A'
60
60
  end
61
61
  end
62
62
 
63
63
  context 'when the file has at least one method' do
64
64
  it 'returns the average complexity per method' do
65
- analysed_module = Rubycritic::AnalysedModule.new(complexity: 10, methods_count: 2)
65
+ analysed_module = RubyCritic::AnalysedModule.new(complexity: 10, methods_count: 2)
66
66
  analysed_module.complexity_per_method.must_equal 5
67
67
  end
68
68
  end
@@ -70,16 +70,16 @@ describe Rubycritic::AnalysedModule do
70
70
 
71
71
  describe '#smells?' do
72
72
  it 'returns true if the analysed_module has at least one smell' do
73
- analysed_module = Rubycritic::AnalysedModule.new(smells: [SmellDouble.new])
73
+ analysed_module = RubyCritic::AnalysedModule.new(smells: [SmellDouble.new])
74
74
  analysed_module.smells?.must_equal true
75
75
  end
76
76
  end
77
77
 
78
78
  describe '#smells_at_location' do
79
79
  it 'returns the smells of an analysed_module at a certain location' do
80
- location = Rubycritic::Location.new('./foo', '42')
81
- smells = [Rubycritic::Smell.new(locations: [location])]
82
- analysed_module = Rubycritic::AnalysedModule.new(smells: smells)
80
+ location = RubyCritic::Location.new('./foo', '42')
81
+ smells = [RubyCritic::Smell.new(locations: [location])]
82
+ analysed_module = RubyCritic::AnalysedModule.new(smells: smells)
83
83
  analysed_module.smells_at_location(location).must_equal smells
84
84
  end
85
85
  end
@@ -1,8 +1,8 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/core/analysed_modules_collection'
3
3
 
4
- describe Rubycritic::AnalysedModulesCollection do
5
- subject { Rubycritic::AnalysedModulesCollection.new(paths) }
4
+ describe RubyCritic::AnalysedModulesCollection do
5
+ subject { RubyCritic::AnalysedModulesCollection.new(paths) }
6
6
 
7
7
  describe '.new' do
8
8
  context 'with an empty path' do
@@ -18,7 +18,7 @@ describe Rubycritic::AnalysedModulesCollection do
18
18
 
19
19
  it 'registers one AnalysedModule element per existent file' do
20
20
  subject.count.must_equal 2
21
- subject.all? { |a| a.is_a?(Rubycritic::AnalysedModule) }.must_equal true
21
+ subject.all? { |a| a.is_a?(RubyCritic::AnalysedModule) }.must_equal true
22
22
  end
23
23
  end
24
24
 
@@ -1,12 +1,12 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/core/location'
3
3
 
4
- describe Rubycritic::Location do
4
+ describe RubyCritic::Location do
5
5
  describe 'attribute readers' do
6
6
  before do
7
7
  @path = './foo.rb'
8
8
  @line = '42'
9
- @location = Rubycritic::Location.new(@path, @line)
9
+ @location = RubyCritic::Location.new(@path, @line)
10
10
  end
11
11
 
12
12
  it 'has a pathname' do
@@ -23,15 +23,15 @@ describe Rubycritic::Location do
23
23
  end
24
24
 
25
25
  it 'is comparable' do
26
- location1 = Rubycritic::Location.new('./foo', 42)
27
- location2 = Rubycritic::Location.new('./foo', 42)
26
+ location1 = RubyCritic::Location.new('./foo', 42)
27
+ location2 = RubyCritic::Location.new('./foo', 42)
28
28
  location1.must_equal location2
29
29
  end
30
30
 
31
31
  it 'is sortable' do
32
- location1 = Rubycritic::Location.new('./foo', 42)
33
- location2 = Rubycritic::Location.new('./bar', 23)
34
- location3 = Rubycritic::Location.new('./bar', 16)
32
+ location1 = RubyCritic::Location.new('./foo', 42)
33
+ location2 = RubyCritic::Location.new('./bar', 23)
34
+ location3 = RubyCritic::Location.new('./bar', 16)
35
35
  [location1, location2, location3].sort.must_equal [location3, location2, location1]
36
36
  end
37
37
  end
@@ -1,15 +1,15 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/core/smell'
3
3
 
4
- describe Rubycritic::Smell do
4
+ describe RubyCritic::Smell do
5
5
  describe 'attribute readers' do
6
6
  before do
7
- @locations = [Rubycritic::Location.new('./foo', '42')]
7
+ @locations = [RubyCritic::Location.new('./foo', '42')]
8
8
  @context = '#bar'
9
9
  @message = 'This smells'
10
10
  @score = 0
11
11
  @type = :complexity
12
- @smell = Rubycritic::Smell.new(
12
+ @smell = RubyCritic::Smell.new(
13
13
  locations: @locations,
14
14
  context: @context,
15
15
  message: @message,
@@ -41,17 +41,17 @@ describe Rubycritic::Smell do
41
41
 
42
42
  describe '#at_location?' do
43
43
  it 'returns true if the smell has a location that matches the location passed as argument' do
44
- location = Rubycritic::Location.new('./foo', '42')
45
- smell = Rubycritic::Smell.new(locations: [location])
44
+ location = RubyCritic::Location.new('./foo', '42')
45
+ smell = RubyCritic::Smell.new(locations: [location])
46
46
  smell.at_location?(location).must_equal true
47
47
  end
48
48
  end
49
49
 
50
50
  describe '#multiple_locations?' do
51
51
  it 'returns true if the smell has more than one location' do
52
- location1 = Rubycritic::Location.new('./foo', '42')
53
- location2 = Rubycritic::Location.new('./foo', '23')
54
- smell = Rubycritic::Smell.new(locations: [location1, location2])
52
+ location1 = RubyCritic::Location.new('./foo', '42')
53
+ location2 = RubyCritic::Location.new('./foo', '23')
54
+ smell = RubyCritic::Smell.new(locations: [location1, location2])
55
55
  smell.multiple_locations?.must_equal true
56
56
  end
57
57
  end
@@ -64,39 +64,39 @@ describe Rubycritic::Smell do
64
64
  score: 0,
65
65
  type: :complexity
66
66
  }
67
- smell1 = Rubycritic::Smell.new(attributes)
68
- smell2 = Rubycritic::Smell.new(attributes)
67
+ smell1 = RubyCritic::Smell.new(attributes)
68
+ smell2 = RubyCritic::Smell.new(attributes)
69
69
  smell1.must_equal smell2
70
70
  end
71
71
  end
72
72
 
73
73
  describe '#doc_url' do
74
74
  it 'handles one word type names for reek smells' do
75
- smell = Rubycritic::Smell.new(type: 'Complexity', analyser: 'reek')
75
+ smell = RubyCritic::Smell.new(type: 'Complexity', analyser: 'reek')
76
76
 
77
77
  smell.doc_url.must_equal('https://github.com/troessner/reek/blob/master/docs/Complexity.md')
78
78
  end
79
79
 
80
80
  it 'handles multiple word type names for reek smells' do
81
- smell = Rubycritic::Smell.new(type: 'TooManyStatements', analyser: 'reek')
81
+ smell = RubyCritic::Smell.new(type: 'TooManyStatements', analyser: 'reek')
82
82
 
83
83
  smell.doc_url.must_equal('https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md')
84
84
  end
85
85
 
86
86
  it 'handles flay smells' do
87
- smell = Rubycritic::Smell.new(type: 'DuplicateCode', analyser: 'flay')
87
+ smell = RubyCritic::Smell.new(type: 'DuplicateCode', analyser: 'flay')
88
88
 
89
89
  smell.doc_url.must_equal('http://docs.seattlerb.org/flay/')
90
90
  end
91
91
 
92
92
  it 'handles flog smells' do
93
- smell = Rubycritic::Smell.new(type: 'VeryHighComplexity', analyser: 'flog')
93
+ smell = RubyCritic::Smell.new(type: 'VeryHighComplexity', analyser: 'flog')
94
94
 
95
95
  smell.doc_url.must_equal('http://docs.seattlerb.org/flog/')
96
96
  end
97
97
 
98
98
  it 'raises an error for unknown analysers' do
99
- smell = Rubycritic::Smell.new(type: 'FooSmell', analyser: 'foo')
99
+ smell = RubyCritic::Smell.new(type: 'FooSmell', analyser: 'foo')
100
100
  assert_raises { smell.doc_url }
101
101
  end
102
102
  end
@@ -3,26 +3,26 @@ require 'rubycritic/core/smell'
3
3
 
4
4
  describe 'Array of Smells' do
5
5
  it 'is sortable' do
6
- location1 = Rubycritic::Location.new('./foo', 42)
7
- location2 = Rubycritic::Location.new('./bar', 23)
8
- location3 = Rubycritic::Location.new('./bar', 16)
9
- smell1 = Rubycritic::Smell.new(locations: [location1])
10
- smell2 = Rubycritic::Smell.new(locations: [location2])
11
- smell3 = Rubycritic::Smell.new(locations: [location3])
6
+ location1 = RubyCritic::Location.new('./foo', 42)
7
+ location2 = RubyCritic::Location.new('./bar', 23)
8
+ location3 = RubyCritic::Location.new('./bar', 16)
9
+ smell1 = RubyCritic::Smell.new(locations: [location1])
10
+ smell2 = RubyCritic::Smell.new(locations: [location2])
11
+ smell3 = RubyCritic::Smell.new(locations: [location3])
12
12
  [smell1, smell2, smell3].sort.must_equal [smell3, smell2, smell1]
13
13
  end
14
14
 
15
15
  it 'implements set intersection' do
16
- smell1 = Rubycritic::Smell.new(context: '#bar')
17
- smell2 = Rubycritic::Smell.new(context: '#bar')
18
- smell3 = Rubycritic::Smell.new(context: '#foo')
16
+ smell1 = RubyCritic::Smell.new(context: '#bar')
17
+ smell2 = RubyCritic::Smell.new(context: '#bar')
18
+ smell3 = RubyCritic::Smell.new(context: '#foo')
19
19
  ([smell1, smell3] & [smell2]).must_equal [smell1]
20
20
  end
21
21
 
22
22
  it 'implements set union' do
23
- smell1 = Rubycritic::Smell.new(context: '#bar')
24
- smell2 = Rubycritic::Smell.new(context: '#bar')
25
- smell3 = Rubycritic::Smell.new(context: '#foo')
23
+ smell1 = RubyCritic::Smell.new(context: '#bar')
24
+ smell2 = RubyCritic::Smell.new(context: '#bar')
25
+ smell3 = RubyCritic::Smell.new(context: '#foo')
26
26
  ([smell1, smell3] | [smell2]).must_equal [smell1, smell3]
27
27
  end
28
28
  end
@@ -3,12 +3,12 @@ require 'rubycritic/generators/console_report'
3
3
  require 'rubycritic/core/rating'
4
4
  require 'rubycritic/core/smell'
5
5
 
6
- describe Rubycritic::Generator::ConsoleReport do
6
+ describe RubyCritic::Generator::ConsoleReport do
7
7
  describe '#generate_report' do
8
8
  before do
9
9
  @mock_analysed_module = mock_analysed_module
10
10
  capture_output_streams do
11
- report = Rubycritic::Generator::ConsoleReport.new([@mock_analysed_module])
11
+ report = RubyCritic::Generator::ConsoleReport.new([@mock_analysed_module])
12
12
  report.generate_report
13
13
  @output = $stdout.tap(&:rewind).read
14
14
  end
@@ -61,7 +61,7 @@ describe Rubycritic::Generator::ConsoleReport do
61
61
  def mock_analysed_module
62
62
  OpenStruct.new(
63
63
  name: 'TestModule',
64
- rating: Rubycritic::Rating.from_cost(3),
64
+ rating: RubyCritic::Rating.from_cost(3),
65
65
  churn: 10,
66
66
  complexity: 0,
67
67
  duplication: 20,
@@ -70,8 +70,8 @@ describe Rubycritic::Generator::ConsoleReport do
70
70
  end
71
71
 
72
72
  def mock_smell
73
- smell = Rubycritic::Smell.new
74
- smell.locations << Rubycritic::Location.new(__FILE__, 3)
73
+ smell = RubyCritic::Smell.new
74
+ smell.locations << RubyCritic::Location.new(__FILE__, 3)
75
75
  smell.type = 'SmellySmell'
76
76
  smell.context = 'You'
77
77
  smell.message = 'Seriously, take a shower or something'
@@ -0,0 +1,36 @@
1
+ require 'test_helper'
2
+ require 'rubycritic/core/analysed_modules_collection'
3
+ require 'rubycritic/generators/json_report'
4
+ require 'json'
5
+ require 'fakefs/safe'
6
+
7
+ describe RubyCritic::Generator::JsonReport do
8
+ describe '#generate_report' do
9
+ before(:each) do
10
+ FakeFS.activate!
11
+ create_analysed_modules_collection
12
+ generate_report
13
+ end
14
+
15
+ after(:each) { FakeFS.deactivate! }
16
+
17
+ it 'creates a report.json file' do
18
+ assert File.file?('test/samples/report.json'), 'expected report.json file to be created'
19
+ end
20
+
21
+ it 'report file has data inside' do
22
+ data = File.read('test/samples/report.json')
23
+ assert data != '', 'expected report file not to be empty'
24
+ end
25
+ end
26
+
27
+ def create_analysed_modules_collection
28
+ @analysed_modules_collection = RubyCritic::AnalysedModulesCollection.new('test/samples/')
29
+ RubyCritic::Config.root = 'test/samples'
30
+ end
31
+
32
+ def generate_report
33
+ report = RubyCritic::Generator::JsonReport.new(@analysed_modules_collection)
34
+ report.generate_report
35
+ end
36
+ end
@@ -1,11 +1,11 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/generators/html/turbulence'
3
3
 
4
- describe Rubycritic::Turbulence do
4
+ describe RubyCritic::Turbulence do
5
5
  describe '::data' do
6
6
  it 'returns json data that maps pathname, churn and complexity to name, x and y' do
7
7
  files = [AnalysedModuleDouble.new(name: 'Foo', churn: 1, complexity: 2)]
8
- turbulence_data = Rubycritic::Turbulence.data(files)
8
+ turbulence_data = RubyCritic::Turbulence.data(files)
9
9
  instance_parsed_json = JSON.parse(turbulence_data).first
10
10
  instance_parsed_json['name'].must_equal 'Foo'
11
11
  instance_parsed_json['x'].must_equal 1
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
  require 'rubycritic/generators/html/view_helpers'
3
3
  require 'pathname'
4
4
 
5
- describe Rubycritic::ViewHelpers do
5
+ describe RubyCritic::ViewHelpers do
6
6
  context 'when the file is in the root directory' do
7
7
  let(:generator) { GeneratorDouble.new('foo.html') }
8
8
 
@@ -67,7 +67,7 @@ describe Rubycritic::ViewHelpers do
67
67
  end
68
68
 
69
69
  class GeneratorDouble
70
- include Rubycritic::ViewHelpers
70
+ include RubyCritic::ViewHelpers
71
71
 
72
72
  def initialize(file)
73
73
  @file = Pathname.new(file)
@@ -1,13 +1,13 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/revision_comparator'
3
3
 
4
- describe Rubycritic::RevisionComparator do
5
- subject { Rubycritic::RevisionComparator.new([]) }
4
+ describe RubyCritic::RevisionComparator do
5
+ subject { RubyCritic::RevisionComparator.new([]) }
6
6
 
7
7
  describe '#set_statuses' do
8
8
  context 'in a SCS with :revision? == false' do
9
9
  before do
10
- Rubycritic::Config.expects(:source_control_system)
10
+ RubyCritic::Config.expects(:source_control_system)
11
11
  .at_least_once
12
12
  .returns(stub(revision?: false))
13
13
  end
@@ -21,7 +21,7 @@ describe Rubycritic::RevisionComparator do
21
21
 
22
22
  context 'in a SCS with :revision? == true' do
23
23
  before do
24
- Rubycritic::Config.expects(:source_control_system)
24
+ RubyCritic::Config.expects(:source_control_system)
25
25
  .at_least_once
26
26
  .returns(stub(revision?: true))
27
27
  end
@@ -33,12 +33,12 @@ describe Rubycritic::RevisionComparator do
33
33
  end
34
34
 
35
35
  it 'does not load them' do
36
- Rubycritic::Serializer.expects(:new).never
36
+ RubyCritic::Serializer.expects(:new).never
37
37
  subject.set_statuses([])
38
38
  end
39
39
 
40
- it 'does not invoke Rubycritic::SmellsStatusSetter' do
41
- Rubycritic::SmellsStatusSetter.expects(:set).never
40
+ it 'does not invoke RubyCritic::SmellsStatusSetter' do
41
+ RubyCritic::SmellsStatusSetter.expects(:set).never
42
42
  subject.set_statuses([])
43
43
  end
44
44
  end
@@ -47,15 +47,15 @@ describe Rubycritic::RevisionComparator do
47
47
  before do
48
48
  subject.expects(:revision_file).twice.returns('foo')
49
49
  File.expects(:file?).with('foo').returns(true)
50
- Rubycritic::Serializer.expects(:new).with('foo').returns(stub(load: []))
50
+ RubyCritic::Serializer.expects(:new).with('foo').returns(stub(load: []))
51
51
  end
52
52
 
53
53
  it 'loads them' do
54
54
  subject.set_statuses([])
55
55
  end
56
56
 
57
- it 'invokes Rubycritic::SmellsStatusSetter' do
58
- Rubycritic::SmellsStatusSetter.expects(:set).once
57
+ it 'invokes RubyCritic::SmellsStatusSetter' do
58
+ RubyCritic::SmellsStatusSetter.expects(:set).once
59
59
  subject.set_statuses([])
60
60
  end
61
61
  end
@@ -2,20 +2,20 @@ require 'test_helper'
2
2
  require 'rubycritic/core/smell'
3
3
  require 'rubycritic/smells_status_setter'
4
4
 
5
- describe Rubycritic::SmellsStatusSetter do
5
+ describe RubyCritic::SmellsStatusSetter do
6
6
  describe '::smells' do
7
7
  before do
8
- @smell = Rubycritic::Smell.new(context: '#bar')
8
+ @smell = RubyCritic::Smell.new(context: '#bar')
9
9
  @smells = [@smell]
10
10
  end
11
11
 
12
12
  it 'marks old smells' do
13
- Rubycritic::SmellsStatusSetter.set(@smells, @smells)
13
+ RubyCritic::SmellsStatusSetter.set(@smells, @smells)
14
14
  @smell.status.must_equal :old
15
15
  end
16
16
 
17
17
  it 'marks new smells' do
18
- Rubycritic::SmellsStatusSetter.set([], @smells)
18
+ RubyCritic::SmellsStatusSetter.set([], @smells)
19
19
  @smell.status.must_equal :new
20
20
  end
21
21
  end
@@ -1,9 +1,9 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/source_control_systems/base'
3
3
 
4
- describe Rubycritic::SourceControlSystem::Base do
4
+ describe RubyCritic::SourceControlSystem::Base do
5
5
  before do
6
- Rubycritic::SourceControlSystem::Base.systems.each do |system|
6
+ RubyCritic::SourceControlSystem::Base.systems.each do |system|
7
7
  system.stubs(:supported?).returns(false)
8
8
  end
9
9
  end
@@ -11,17 +11,17 @@ describe Rubycritic::SourceControlSystem::Base do
11
11
  describe '::create' do
12
12
  context 'when a source control system is found' do
13
13
  it 'creates an instance of that source control system' do
14
- Rubycritic::SourceControlSystem::Git.stubs(:supported?).returns(true)
15
- system = Rubycritic::SourceControlSystem::Base.create
16
- system.must_be_instance_of Rubycritic::SourceControlSystem::Git
14
+ RubyCritic::SourceControlSystem::Git.stubs(:supported?).returns(true)
15
+ system = RubyCritic::SourceControlSystem::Base.create
16
+ system.must_be_instance_of RubyCritic::SourceControlSystem::Git
17
17
  end
18
18
  end
19
19
 
20
20
  context 'when no source control system is found' do
21
21
  it 'creates a source control system double' do
22
22
  capture_output_streams do
23
- system = Rubycritic::SourceControlSystem::Base.create
24
- system.must_be_instance_of Rubycritic::SourceControlSystem::Double
23
+ system = RubyCritic::SourceControlSystem::Base.create
24
+ system.must_be_instance_of RubyCritic::SourceControlSystem::Double
25
25
  end
26
26
  end
27
27
  end
@@ -6,6 +6,6 @@ class DoubleTest < Minitest::Test
6
6
  include BasicInterface
7
7
 
8
8
  def setup
9
- @system = Rubycritic::SourceControlSystem::Double.new
9
+ @system = RubyCritic::SourceControlSystem::Double.new
10
10
  end
11
11
  end
@@ -8,6 +8,6 @@ class GitTest < Minitest::Test
8
8
  include TimeTravelInterface
9
9
 
10
10
  def setup
11
- @system = Rubycritic::SourceControlSystem::Git.new
11
+ @system = RubyCritic::SourceControlSystem::Git.new
12
12
  end
13
13
  end
@@ -6,6 +6,6 @@ class MercurialTest < Minitest::Test
6
6
  include BasicInterface
7
7
 
8
8
  def setup
9
- @system = Rubycritic::SourceControlSystem::Mercurial.new
9
+ @system = RubyCritic::SourceControlSystem::Mercurial.new
10
10
  end
11
11
  end
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/source_locator'
3
3
 
4
- describe Rubycritic::SourceLocator do
4
+ describe RubyCritic::SourceLocator do
5
5
  before do
6
6
  @original_dir = Dir.getwd
7
7
  Dir.chdir('test/samples/location')
@@ -10,57 +10,57 @@ describe Rubycritic::SourceLocator do
10
10
  describe '#paths' do
11
11
  it 'finds a single file' do
12
12
  paths = ['file0.rb']
13
- Rubycritic::SourceLocator.new(paths).paths.must_equal paths
13
+ RubyCritic::SourceLocator.new(paths).paths.must_equal paths
14
14
  end
15
15
 
16
16
  it 'finds all the files inside a given directory' do
17
17
  initial_paths = ['dir1']
18
18
  final_paths = ['dir1/file1.rb']
19
- Rubycritic::SourceLocator.new(initial_paths).paths.must_equal final_paths
19
+ RubyCritic::SourceLocator.new(initial_paths).paths.must_equal final_paths
20
20
  end
21
21
 
22
22
  it 'finds files through multiple paths' do
23
23
  paths = ['dir1/file1.rb', 'file0.rb']
24
- Rubycritic::SourceLocator.new(paths).paths.must_match_array paths
24
+ RubyCritic::SourceLocator.new(paths).paths.must_match_array paths
25
25
  end
26
26
 
27
27
  it 'finds all the files' do
28
28
  initial_paths = ['.']
29
29
  final_paths = ['dir1/file1.rb', 'file0.rb', 'file0_symlink.rb']
30
- Rubycritic::SourceLocator.new(initial_paths).paths.must_match_array final_paths
30
+ RubyCritic::SourceLocator.new(initial_paths).paths.must_match_array final_paths
31
31
  end
32
32
 
33
33
  context 'when configured to deduplicate symlinks' do
34
34
  it 'favors a file over a symlink if they both point to the same target' do
35
- Rubycritic::Config.stubs(:deduplicate_symlinks).returns(true)
35
+ RubyCritic::Config.stubs(:deduplicate_symlinks).returns(true)
36
36
  initial_paths = ['file0.rb', 'file0_symlink.rb']
37
37
  final_paths = ['file0.rb']
38
- Rubycritic::SourceLocator.new(initial_paths).paths.must_match_array final_paths
38
+ RubyCritic::SourceLocator.new(initial_paths).paths.must_match_array final_paths
39
39
  end
40
40
  end
41
41
 
42
42
  it 'cleans paths of consecutive slashes and useless dots' do
43
43
  initial_paths = ['.//file0.rb']
44
44
  final_paths = ['file0.rb']
45
- Rubycritic::SourceLocator.new(initial_paths).paths.must_equal final_paths
45
+ RubyCritic::SourceLocator.new(initial_paths).paths.must_equal final_paths
46
46
  end
47
47
 
48
48
  it 'ignores paths to non-existent files' do
49
49
  initial_paths = ['non_existent_dir1/non_existent_file1.rb', 'non_existent_file0.rb']
50
50
  final_paths = []
51
- Rubycritic::SourceLocator.new(initial_paths).paths.must_equal final_paths
51
+ RubyCritic::SourceLocator.new(initial_paths).paths.must_equal final_paths
52
52
  end
53
53
 
54
54
  it 'ignores paths to files that do not match the Ruby extension' do
55
55
  initial_paths = ['file_with_no_extension', 'file_with_different_extension.py']
56
56
  final_paths = []
57
- Rubycritic::SourceLocator.new(initial_paths).paths.must_equal final_paths
57
+ RubyCritic::SourceLocator.new(initial_paths).paths.must_equal final_paths
58
58
  end
59
59
 
60
60
  it 'can deal with nil paths' do
61
61
  paths = nil
62
62
  final_paths = []
63
- Rubycritic::SourceLocator.new(paths).paths.must_equal final_paths
63
+ RubyCritic::SourceLocator.new(paths).paths.must_equal final_paths
64
64
  end
65
65
  end
66
66
 
@@ -68,7 +68,7 @@ describe Rubycritic::SourceLocator do
68
68
  it 'finds a single file' do
69
69
  initial_paths = ['file0.rb']
70
70
  final_pathnames = [Pathname.new('file0.rb')]
71
- Rubycritic::SourceLocator.new(initial_paths).pathnames.must_equal final_pathnames
71
+ RubyCritic::SourceLocator.new(initial_paths).pathnames.must_equal final_pathnames
72
72
  end
73
73
  end
74
74
 
@@ -1,8 +1,8 @@
1
1
  require 'test_helper'
2
2
  require 'rubycritic/version'
3
3
 
4
- describe 'Rubycritic version' do
4
+ describe 'RubyCritic version' do
5
5
  it 'is defined' do
6
- Rubycritic::VERSION.wont_be_nil
6
+ RubyCritic::VERSION.wont_be_nil
7
7
  end
8
8
  end