rubycritic 2.6.0 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -585
  3. data/.rubocop_todo.yml +36 -0
  4. data/CHANGELOG.md +6 -0
  5. data/Gemfile +1 -1
  6. data/Rakefile +9 -9
  7. data/bin/rubycritic +2 -2
  8. data/features/command_line_interface/options.feature +1 -0
  9. data/features/step_definitions/rubycritic_steps.rb +1 -1
  10. data/features/step_definitions/sample_file_steps.rb +3 -3
  11. data/features/support/env.rb +6 -6
  12. data/lib/rubycritic.rb +1 -1
  13. data/lib/rubycritic/analysers/attributes.rb +6 -7
  14. data/lib/rubycritic/analysers/churn.rb +4 -6
  15. data/lib/rubycritic/analysers/complexity.rb +5 -7
  16. data/lib/rubycritic/analysers/helpers/ast_node.rb +4 -6
  17. data/lib/rubycritic/analysers/helpers/flay.rb +1 -3
  18. data/lib/rubycritic/analysers/helpers/flog.rb +5 -7
  19. data/lib/rubycritic/analysers/helpers/methods_counter.rb +1 -3
  20. data/lib/rubycritic/analysers/helpers/modules_locator.rb +3 -5
  21. data/lib/rubycritic/analysers/helpers/parser.rb +2 -2
  22. data/lib/rubycritic/analysers/helpers/reek.rb +1 -1
  23. data/lib/rubycritic/analysers/smells/flay.rb +14 -16
  24. data/lib/rubycritic/analysers/smells/flog.rb +15 -17
  25. data/lib/rubycritic/analysers/smells/reek.rb +11 -13
  26. data/lib/rubycritic/analysers_runner.rb +8 -10
  27. data/lib/rubycritic/browser.rb +17 -0
  28. data/lib/rubycritic/cli/application.rb +3 -3
  29. data/lib/rubycritic/cli/options.rb +29 -23
  30. data/lib/rubycritic/command_factory.rb +5 -5
  31. data/lib/rubycritic/commands/base.rb +2 -2
  32. data/lib/rubycritic/commands/ci.rb +4 -4
  33. data/lib/rubycritic/commands/default.rb +5 -5
  34. data/lib/rubycritic/commands/help.rb +1 -1
  35. data/lib/rubycritic/commands/status_reporter.rb +1 -1
  36. data/lib/rubycritic/commands/version.rb +2 -2
  37. data/lib/rubycritic/configuration.rb +4 -2
  38. data/lib/rubycritic/core/analysed_module.rb +15 -17
  39. data/lib/rubycritic/core/analysed_modules_collection.rb +3 -3
  40. data/lib/rubycritic/core/location.rb +4 -6
  41. data/lib/rubycritic/core/rating.rb +5 -7
  42. data/lib/rubycritic/core/smell.rb +11 -13
  43. data/lib/rubycritic/generators/console_report.rb +1 -1
  44. data/lib/rubycritic/generators/html/base.rb +9 -9
  45. data/lib/rubycritic/generators/html/code_file.rb +5 -7
  46. data/lib/rubycritic/generators/html/code_index.rb +3 -5
  47. data/lib/rubycritic/generators/html/line.rb +4 -6
  48. data/lib/rubycritic/generators/html/overview.rb +4 -6
  49. data/lib/rubycritic/generators/html/smells_index.rb +3 -5
  50. data/lib/rubycritic/generators/html/turbulence.rb +4 -6
  51. data/lib/rubycritic/generators/html/view_helpers.rb +4 -4
  52. data/lib/rubycritic/generators/html_report.rb +13 -9
  53. data/lib/rubycritic/generators/json/simple.rb +7 -9
  54. data/lib/rubycritic/generators/json_report.rb +1 -3
  55. data/lib/rubycritic/generators/text/list.rb +9 -9
  56. data/lib/rubycritic/reporter.rb +3 -5
  57. data/lib/rubycritic/revision_comparator.rb +6 -8
  58. data/lib/rubycritic/serializer.rb +2 -4
  59. data/lib/rubycritic/smells_status_setter.rb +2 -4
  60. data/lib/rubycritic/source_control_systems/base.rb +4 -6
  61. data/lib/rubycritic/source_control_systems/double.rb +1 -2
  62. data/lib/rubycritic/source_control_systems/git.rb +1 -3
  63. data/lib/rubycritic/source_control_systems/mercurial.rb +1 -3
  64. data/lib/rubycritic/source_locator.rb +5 -6
  65. data/lib/rubycritic/version.rb +1 -1
  66. data/rubycritic.gemspec +26 -25
  67. data/test/analysers_test_helper.rb +1 -1
  68. data/test/lib/rubycritic/analysers/churn_test.rb +9 -9
  69. data/test/lib/rubycritic/analysers/complexity_test.rb +5 -5
  70. data/test/lib/rubycritic/analysers/helpers/methods_counter_test.rb +12 -12
  71. data/test/lib/rubycritic/analysers/helpers/modules_locator_test.rb +25 -25
  72. data/test/lib/rubycritic/analysers/smells/flay_test.rb +12 -12
  73. data/test/lib/rubycritic/analysers/smells/flog_test.rb +7 -7
  74. data/test/lib/rubycritic/analysers/smells/reek_test.rb +8 -8
  75. data/test/lib/rubycritic/browser_test.rb +16 -0
  76. data/test/lib/rubycritic/commands/status_reporter_test.rb +31 -19
  77. data/test/lib/rubycritic/configuration_test.rb +10 -10
  78. data/test/lib/rubycritic/core/analysed_module_test.rb +37 -37
  79. data/test/lib/rubycritic/core/analysed_modules_collection_test.rb +32 -32
  80. data/test/lib/rubycritic/core/location_test.rb +16 -16
  81. data/test/lib/rubycritic/core/smell_test.rb +31 -31
  82. data/test/lib/rubycritic/core/smells_array_test.rb +18 -18
  83. data/test/lib/rubycritic/generators/console_report_test.rb +26 -26
  84. data/test/lib/rubycritic/generators/turbulence_test.rb +8 -8
  85. data/test/lib/rubycritic/generators/view_helpers_test.rb +36 -36
  86. data/test/lib/rubycritic/smells_status_setter_test.rb +7 -7
  87. data/test/lib/rubycritic/source_control_systems/base_test.rb +7 -7
  88. data/test/lib/rubycritic/source_control_systems/double_test.rb +3 -3
  89. data/test/lib/rubycritic/source_control_systems/git_test.rb +4 -4
  90. data/test/lib/rubycritic/source_control_systems/mercurial_test.rb +3 -3
  91. data/test/lib/rubycritic/source_locator_test.rb +30 -30
  92. data/test/lib/rubycritic/version_test.rb +4 -4
  93. data/test/test_helper.rb +4 -4
  94. metadata +30 -17
@@ -1,37 +1,37 @@
1
- require "test_helper"
2
- require "rubycritic/core/location"
1
+ require 'test_helper'
2
+ require 'rubycritic/core/location'
3
3
 
4
4
  describe Rubycritic::Location do
5
- describe "attribute readers" do
5
+ describe 'attribute readers' do
6
6
  before do
7
- @path = "./foo.rb"
8
- @line = "42"
7
+ @path = './foo.rb'
8
+ @line = '42'
9
9
  @location = Rubycritic::Location.new(@path, @line)
10
10
  end
11
11
 
12
- it "has a pathname" do
12
+ it 'has a pathname' do
13
13
  @location.pathname.must_equal Pathname.new(@path)
14
14
  end
15
15
 
16
- it "has a line number" do
16
+ it 'has a line number' do
17
17
  @location.line.must_equal @line.to_i
18
18
  end
19
19
 
20
- it "has a file name" do
21
- @location.file_name.must_equal "foo"
20
+ it 'has a file name' do
21
+ @location.file_name.must_equal 'foo'
22
22
  end
23
23
  end
24
24
 
25
- it "is comparable" do
26
- location1 = Rubycritic::Location.new("./foo", 42)
27
- location2 = Rubycritic::Location.new("./foo", 42)
25
+ it 'is comparable' do
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
- 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)
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)
35
35
  [location1, location2, location3].sort.must_equal [location3, location2, location1]
36
36
  end
37
37
  end
@@ -1,68 +1,68 @@
1
- require "test_helper"
2
- require "rubycritic/core/smell"
1
+ require 'test_helper'
2
+ require 'rubycritic/core/smell'
3
3
 
4
4
  describe Rubycritic::Smell do
5
- describe "attribute readers" do
5
+ describe 'attribute readers' do
6
6
  before do
7
- @locations = [Rubycritic::Location.new("./foo", "42")]
8
- @context = "#bar"
9
- @message = "This smells"
7
+ @locations = [Rubycritic::Location.new('./foo', '42')]
8
+ @context = '#bar'
9
+ @message = 'This smells'
10
10
  @score = 0
11
11
  @type = :complexity
12
12
  @smell = Rubycritic::Smell.new(
13
- :locations => @locations,
14
- :context => @context,
15
- :message => @message,
16
- :score => @score,
17
- :type => @type
13
+ locations: @locations,
14
+ context: @context,
15
+ message: @message,
16
+ score: @score,
17
+ type: @type
18
18
  )
19
19
  end
20
20
 
21
- it "has a context reader" do
21
+ it 'has a context reader' do
22
22
  @smell.context.must_equal @context
23
23
  end
24
24
 
25
- it "has a locations reader" do
25
+ it 'has a locations reader' do
26
26
  @smell.locations.must_equal @locations
27
27
  end
28
28
 
29
- it "has a message reader" do
29
+ it 'has a message reader' do
30
30
  @smell.message.must_equal @message
31
31
  end
32
32
 
33
- it "has a score reader" do
33
+ it 'has a score reader' do
34
34
  @smell.score.must_equal @score
35
35
  end
36
36
 
37
- it "has a type reader" do
37
+ it 'has a type reader' do
38
38
  @smell.type.must_equal @type
39
39
  end
40
40
  end
41
41
 
42
- describe "#at_location?" do
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])
42
+ describe '#at_location?' do
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])
46
46
  smell.at_location?(location).must_equal true
47
47
  end
48
48
  end
49
49
 
50
- describe "#multiple_locations?" do
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])
50
+ describe '#multiple_locations?' do
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])
55
55
  smell.multiple_locations?.must_equal true
56
56
  end
57
57
  end
58
58
 
59
- describe "#==" do
60
- it "returns true if two smells have the same base attributes" do
59
+ describe '#==' do
60
+ it 'returns true if two smells have the same base attributes' do
61
61
  attributes = {
62
- :context => "#bar",
63
- :message => "This smells",
64
- :score => 0,
65
- :type => :complexity
62
+ context: '#bar',
63
+ message: 'This smells',
64
+ score: 0,
65
+ type: :complexity
66
66
  }
67
67
  smell1 = Rubycritic::Smell.new(attributes)
68
68
  smell2 = Rubycritic::Smell.new(attributes)
@@ -1,28 +1,28 @@
1
- require "test_helper"
2
- require "rubycritic/core/smell"
1
+ require 'test_helper'
2
+ require 'rubycritic/core/smell'
3
3
 
4
- describe "Array of Smells" do
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])
4
+ describe 'Array of Smells' do
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])
12
12
  [smell1, smell2, smell3].sort.must_equal [smell3, smell2, smell1]
13
13
  end
14
14
 
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")
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')
19
19
  ([smell1, smell3] & [smell2]).must_equal [smell1]
20
20
  end
21
21
 
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")
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')
26
26
  ([smell1, smell3] | [smell2]).must_equal [smell1, smell3]
27
27
  end
28
28
  end
@@ -1,10 +1,10 @@
1
- require "test_helper"
2
- require "rubycritic/generators/console_report"
3
- require "rubycritic/core/rating"
4
- require "rubycritic/core/smell"
1
+ require 'test_helper'
2
+ require 'rubycritic/generators/console_report'
3
+ require 'rubycritic/core/rating'
4
+ require 'rubycritic/core/smell'
5
5
 
6
6
  describe Rubycritic::Generator::ConsoleReport do
7
- describe "#generate_report" do
7
+ describe '#generate_report' do
8
8
  before do
9
9
  @mock_analysed_module = mock_analysed_module
10
10
  capture_output_streams do
@@ -14,8 +14,8 @@ describe Rubycritic::Generator::ConsoleReport do
14
14
  end
15
15
  end
16
16
 
17
- it "outputs the report to the stdout" do
18
- assert @output.size > 0, "expected report to be output to stdout"
17
+ it 'outputs the report to the stdout' do
18
+ assert @output.size > 0, 'expected report to be output to stdout'
19
19
  end
20
20
 
21
21
  it "starts the report with the module's name" do
@@ -24,57 +24,57 @@ describe Rubycritic::Generator::ConsoleReport do
24
24
  end
25
25
 
26
26
  it "includes the module's rating in the report" do
27
- assert output_contains?("Rating", @mock_analysed_module.rating)
27
+ assert output_contains?('Rating', @mock_analysed_module.rating)
28
28
  end
29
29
 
30
30
  it "includes the module's rating in the report" do
31
- assert output_contains?("Churn", @mock_analysed_module.churn)
31
+ assert output_contains?('Churn', @mock_analysed_module.churn)
32
32
  end
33
33
 
34
34
  it "includes the module's rating in the report" do
35
- assert output_contains?("Complexity", @mock_analysed_module.complexity)
35
+ assert output_contains?('Complexity', @mock_analysed_module.complexity)
36
36
  end
37
37
 
38
38
  it "includes the module's rating in the report" do
39
- assert output_contains?("Duplication", @mock_analysed_module.duplication)
39
+ assert output_contains?('Duplication', @mock_analysed_module.duplication)
40
40
  end
41
41
 
42
- it "includes the number of smells in the report" do
43
- assert output_contains?("Smells", @mock_analysed_module.smells.count)
42
+ it 'includes the number of smells in the report' do
43
+ assert output_contains?('Smells', @mock_analysed_module.smells.count)
44
44
  end
45
45
 
46
- it "includes the smell and its attributes in the report" do
46
+ it 'includes the smell and its attributes in the report' do
47
47
  @mock_analysed_module.smells.each do |smell|
48
- assert output_contains?(smell), "expected smell type and context to be reported"
48
+ assert output_contains?(smell), 'expected smell type and context to be reported'
49
49
  smell.locations.each do |location|
50
- assert output_contains?(location), "expected all smell locations to be reported"
50
+ assert output_contains?(location), 'expected all smell locations to be reported'
51
51
  end
52
52
  end
53
53
  end
54
54
 
55
55
  def output_contains?(*strs)
56
56
  @lines ||= @output.split("\n")
57
- expr = strs.map(&:to_s).map! { |s| Regexp.escape(s) }.join(".*")
57
+ expr = strs.map(&:to_s).map! { |s| Regexp.escape(s) }.join('.*')
58
58
  @lines.any? { |l| l[/#{expr}/] }
59
59
  end
60
60
 
61
61
  def mock_analysed_module
62
62
  OpenStruct.new(
63
- :name => "TestModule",
64
- :rating => Rubycritic::Rating.from_cost(3),
65
- :churn => 10,
66
- :complexity => 0,
67
- :duplication => 20,
68
- :smells => [mock_smell]
63
+ name: 'TestModule',
64
+ rating: Rubycritic::Rating.from_cost(3),
65
+ churn: 10,
66
+ complexity: 0,
67
+ duplication: 20,
68
+ smells: [mock_smell]
69
69
  )
70
70
  end
71
71
 
72
72
  def mock_smell
73
73
  smell = Rubycritic::Smell.new
74
74
  smell.locations << Rubycritic::Location.new(__FILE__, 3)
75
- smell.type = "SmellySmell"
76
- smell.context = "You"
77
- smell.message = "Seriously, take a shower or something"
75
+ smell.type = 'SmellySmell'
76
+ smell.context = 'You'
77
+ smell.message = 'Seriously, take a shower or something'
78
78
  smell
79
79
  end
80
80
  end
@@ -1,15 +1,15 @@
1
- require "test_helper"
2
- require "rubycritic/generators/html/turbulence"
1
+ require 'test_helper'
2
+ require 'rubycritic/generators/html/turbulence'
3
3
 
4
4
  describe Rubycritic::Turbulence do
5
- describe "::data" do
6
- it "returns json data that maps pathname, churn and complexity to name, x and y" do
7
- files = [AnalysedModuleDouble.new(:name => "Foo", :churn => 1, :complexity => 2)]
5
+ describe '::data' do
6
+ it 'returns json data that maps pathname, churn and complexity to name, x and y' do
7
+ files = [AnalysedModuleDouble.new(name: 'Foo', churn: 1, complexity: 2)]
8
8
  turbulence_data = Rubycritic::Turbulence.data(files)
9
9
  instance_parsed_json = JSON.parse(turbulence_data).first
10
- instance_parsed_json["name"].must_equal "Foo"
11
- instance_parsed_json["x"].must_equal 1
12
- instance_parsed_json["y"].must_equal 2
10
+ instance_parsed_json['name'].must_equal 'Foo'
11
+ instance_parsed_json['x'].must_equal 1
12
+ instance_parsed_json['y'].must_equal 2
13
13
  end
14
14
  end
15
15
  end
@@ -1,66 +1,66 @@
1
- require "test_helper"
2
- require "rubycritic/generators/html/view_helpers"
3
- require "pathname"
1
+ require 'test_helper'
2
+ require 'rubycritic/generators/html/view_helpers'
3
+ require 'pathname'
4
4
 
5
5
  describe Rubycritic::ViewHelpers do
6
- context "when the file is in the root directory" do
7
- let(:generator) { GeneratorDouble.new("foo.html") }
6
+ context 'when the file is in the root directory' do
7
+ let(:generator) { GeneratorDouble.new('foo.html') }
8
8
 
9
- describe "#file_path" do
10
- context "when the other file is in the same directory" do
11
- it "creates a relative path to a file" do
12
- generator.file_path("bar.html").to_s.must_equal "bar.html"
9
+ describe '#file_path' do
10
+ context 'when the other file is in the same directory' do
11
+ it 'creates a relative path to a file' do
12
+ generator.file_path('bar.html').to_s.must_equal 'bar.html'
13
13
  end
14
14
  end
15
15
 
16
- context "when the other file is in a subdirectory" do
17
- it "creates a relative path to a file" do
18
- generator.file_path("subdirectory/bar.html").to_s.must_equal "subdirectory/bar.html"
16
+ context 'when the other file is in a subdirectory' do
17
+ it 'creates a relative path to a file' do
18
+ generator.file_path('subdirectory/bar.html').to_s.must_equal 'subdirectory/bar.html'
19
19
  end
20
20
  end
21
21
  end
22
22
 
23
- describe "#asset_path" do
24
- it "creates a relative path to an asset" do
25
- generator.asset_path("stylesheets/application.css").to_s
26
- .must_equal "assets/stylesheets/application.css"
23
+ describe '#asset_path' do
24
+ it 'creates a relative path to an asset' do
25
+ generator.asset_path('stylesheets/application.css').to_s
26
+ .must_equal 'assets/stylesheets/application.css'
27
27
  end
28
28
  end
29
29
  end
30
30
 
31
- context "when the file is n directories deep" do
32
- let(:generator) { GeneratorDouble.new("lets/go/crazy/foo.html") }
31
+ context 'when the file is n directories deep' do
32
+ let(:generator) { GeneratorDouble.new('lets/go/crazy/foo.html') }
33
33
 
34
- describe "#file_path" do
35
- context "when the other file is in the same directory" do
36
- it "creates a relative path to a file" do
37
- generator.file_path("lets/go/crazy/bar.html").to_s.must_equal "bar.html"
34
+ describe '#file_path' do
35
+ context 'when the other file is in the same directory' do
36
+ it 'creates a relative path to a file' do
37
+ generator.file_path('lets/go/crazy/bar.html').to_s.must_equal 'bar.html'
38
38
  end
39
39
  end
40
40
 
41
- context "when the other file is in the root directory" do
42
- it "creates a relative path to a file" do
43
- generator.file_path("bar.html").to_s.must_equal "../../../bar.html"
41
+ context 'when the other file is in the root directory' do
42
+ it 'creates a relative path to a file' do
43
+ generator.file_path('bar.html').to_s.must_equal '../../../bar.html'
44
44
  end
45
45
  end
46
46
 
47
- context "when the other file has n-1 directories in common" do
48
- it "creates a relative path to a file" do
49
- generator.file_path("lets/go/home/bar.html").to_s.must_equal "../home/bar.html"
47
+ context 'when the other file has n-1 directories in common' do
48
+ it 'creates a relative path to a file' do
49
+ generator.file_path('lets/go/home/bar.html').to_s.must_equal '../home/bar.html'
50
50
  end
51
51
  end
52
52
 
53
- context "when the other file is one directory deeper" do
54
- it "creates a relative path to a file" do
55
- generator.file_path("lets/go/crazy/everybody/bar.html").to_s.must_equal "everybody/bar.html"
53
+ context 'when the other file is one directory deeper' do
54
+ it 'creates a relative path to a file' do
55
+ generator.file_path('lets/go/crazy/everybody/bar.html').to_s.must_equal 'everybody/bar.html'
56
56
  end
57
57
  end
58
58
  end
59
59
 
60
- describe "#asset_path" do
61
- it "creates a relative path to an asset" do
62
- generator.asset_path("stylesheets/application.css").to_s
63
- .must_equal "../../../assets/stylesheets/application.css"
60
+ describe '#asset_path' do
61
+ it 'creates a relative path to an asset' do
62
+ generator.asset_path('stylesheets/application.css').to_s
63
+ .must_equal '../../../assets/stylesheets/application.css'
64
64
  end
65
65
  end
66
66
  end
@@ -78,6 +78,6 @@ class GeneratorDouble
78
78
  end
79
79
 
80
80
  def root_directory
81
- Pathname.new("root_directory")
81
+ Pathname.new('root_directory')
82
82
  end
83
83
  end
@@ -1,20 +1,20 @@
1
- require "test_helper"
2
- require "rubycritic/core/smell"
3
- require "rubycritic/smells_status_setter"
1
+ require 'test_helper'
2
+ require 'rubycritic/core/smell'
3
+ require 'rubycritic/smells_status_setter'
4
4
 
5
5
  describe Rubycritic::SmellsStatusSetter do
6
- describe "::smells" do
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
- it "marks old smells" do
12
+ it 'marks old smells' do
13
13
  Rubycritic::SmellsStatusSetter.set(@smells, @smells)
14
14
  @smell.status.must_equal :old
15
15
  end
16
16
 
17
- it "marks new smells" do
17
+ it 'marks new smells' do
18
18
  Rubycritic::SmellsStatusSetter.set([], @smells)
19
19
  @smell.status.must_equal :new
20
20
  end