permpress 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/.rspec +2 -0
- data/.rubocop.yml +18 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +56 -0
- data/Rakefile +6 -0
- data/bin/permpress +5 -0
- data/lib/permpress.rb +2 -0
- data/lib/permpress/checkstyle.rb +26 -0
- data/lib/permpress/checkstyle/checkstyle_logger-all.jar +0 -0
- data/lib/permpress/checkstyle/sun_checks.xml +177 -0
- data/lib/permpress/cli.rb +43 -0
- data/lib/permpress/coffeelint.rb +27 -0
- data/lib/permpress/coffeelint/lintci.coffee +12 -0
- data/lib/permpress/command.rb +42 -0
- data/lib/permpress/csslint.rb +63 -0
- data/lib/permpress/golint.rb +12 -0
- data/lib/permpress/govet.rb +7 -0
- data/lib/permpress/jshint.rb +23 -0
- data/lib/permpress/jshint/formatter.js +23 -0
- data/lib/permpress/jslint.rb +7 -0
- data/lib/permpress/jsonlint.rb +19 -0
- data/lib/permpress/rubocop.rb +28 -0
- data/lib/permpress/rubocop/formatter.rb +22 -0
- data/lib/permpress/scsslint.rb +24 -0
- data/lib/permpress/scsslint/scsslint +37 -0
- data/lib/permpress/version.rb +4 -0
- data/permpress.gemspec +27 -0
- data/spec/fixtures/Good.java +6 -0
- data/spec/fixtures/bad.coffee +1 -0
- data/spec/fixtures/bad.css +4 -0
- data/spec/fixtures/bad.go +7 -0
- data/spec/fixtures/bad.java +3 -0
- data/spec/fixtures/bad.js +3 -0
- data/spec/fixtures/bad.json +4 -0
- data/spec/fixtures/bad.rb +4 -0
- data/spec/fixtures/bad.scss +3 -0
- data/spec/fixtures/good.coffee +1 -0
- data/spec/fixtures/good.css +3 -0
- data/spec/fixtures/good.go +7 -0
- data/spec/fixtures/good.js +5 -0
- data/spec/fixtures/good.json +4 -0
- data/spec/fixtures/good.rb +5 -0
- data/spec/fixtures/good.scss +3 -0
- data/spec/fixtures/lint.txt +1 -0
- data/spec/permpress/checkstyle_spec.rb +66 -0
- data/spec/permpress/coffeelint_spec.rb +64 -0
- data/spec/permpress/command_spec.rb +37 -0
- data/spec/permpress/csslint_spec.rb +65 -0
- data/spec/permpress/golint_spec.rb +43 -0
- data/spec/permpress/jshint_spec.rb +65 -0
- data/spec/permpress/jsonlint_spec.rb +45 -0
- data/spec/permpress/rubocop_spec.rb +67 -0
- data/spec/permpress/scsslint_spec.rb +62 -0
- data/spec/permpress_spec.rb +7 -0
- data/spec/spec_helper.rb +4 -0
- data/spec/support/exit_matcher.rb +15 -0
- data/spec/support/observed_output_context.rb +10 -0
- metadata +204 -0
@@ -0,0 +1 @@
|
|
1
|
+
lint
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Permpress::Checkstyle do
|
4
|
+
describe '#lint', :unit do
|
5
|
+
let(:permpress_path){File.expand_path('../../..', __FILE__)}
|
6
|
+
|
7
|
+
context 'when config flag is present' do
|
8
|
+
it 'executes command with expected arguments' do
|
9
|
+
expect(Permpress::Command).to receive(:new).with(
|
10
|
+
'java',
|
11
|
+
%w(Good.java bad.java),
|
12
|
+
%W(
|
13
|
+
-jar #{permpress_path}/lib/permpress/checkstyle/checkstyle_logger-all.jar
|
14
|
+
-c checks.xml
|
15
|
+
)
|
16
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
17
|
+
|
18
|
+
Permpress::Checkstyle.start(['lint', '--config', 'checks.xml', 'Good.java', 'bad.java'])
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'when config flag is not present' do
|
23
|
+
it 'executes command with expected arguments' do
|
24
|
+
expect(Permpress::Command).to receive(:new).with(
|
25
|
+
'java',
|
26
|
+
%w(Good.java bad.java),
|
27
|
+
%W(
|
28
|
+
-jar #{permpress_path}/lib/permpress/checkstyle/checkstyle_logger-all.jar
|
29
|
+
-c #{permpress_path}/lib/permpress/checkstyle/sun_checks.xml
|
30
|
+
)
|
31
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
32
|
+
|
33
|
+
Permpress::Checkstyle.start(['lint', 'Good.java', 'bad.java'])
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe '#lint', :integration do
|
39
|
+
include_context 'observed output'
|
40
|
+
|
41
|
+
context 'when the file is not lint free' do
|
42
|
+
let(:file){File.expand_path('../../fixtures/bad.java', __FILE__)}
|
43
|
+
|
44
|
+
it 'generates the expected output' do
|
45
|
+
expect{Permpress::CLI.start(['checkstyle', 'lint', file])}.to_not exit_successfully
|
46
|
+
|
47
|
+
expect($stdout.string).to eq(
|
48
|
+
"#{file}:1:0::com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck:error:"\
|
49
|
+
"Missing a Javadoc comment.\n"\
|
50
|
+
"#{file}:1:14::com.puppycrawl.tools.checkstyle.checks.naming.TypeNameCheck:error:"\
|
51
|
+
"Name 'bad' must match pattern '^[A-Z][a-zA-Z0-9]*$'.\n"
|
52
|
+
)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
context 'when the file is lint free' do
|
57
|
+
let(:file){File.expand_path('../../fixtures/Good.java', __FILE__)}
|
58
|
+
|
59
|
+
it 'generates the expected output' do
|
60
|
+
expect{Permpress::CLI.start(['checkstyle', 'lint', file])}.to exit_successfully
|
61
|
+
|
62
|
+
expect($stdout.string).to eq('')
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Permpress::CoffeeLint do
|
4
|
+
describe '#lint', :unit do
|
5
|
+
let(:permpress_path){File.expand_path('../../..', __FILE__)}
|
6
|
+
|
7
|
+
context 'when config flag is present' do
|
8
|
+
it 'executes command with expected arguments' do
|
9
|
+
expect(Permpress::Command).to receive(:new).with(
|
10
|
+
'coffeelint',
|
11
|
+
%w(good.coffee bad.coffee),
|
12
|
+
%W(
|
13
|
+
--reporter=#{permpress_path}/lib/permpress/coffeelint/lintci.coffee
|
14
|
+
--nocolor
|
15
|
+
--file=coffeelint.json
|
16
|
+
)
|
17
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
18
|
+
|
19
|
+
Permpress::CoffeeLint.start(['lint', '--config', 'coffeelint.json', 'good.coffee', 'bad.coffee'])
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'when config flag is not present' do
|
24
|
+
it 'executes command with expected arguments' do
|
25
|
+
expect(Permpress::Command).to receive(:new).with(
|
26
|
+
'coffeelint',
|
27
|
+
%w(good.coffee bad.coffee),
|
28
|
+
%W(
|
29
|
+
--reporter=#{permpress_path}/lib/permpress/coffeelint/lintci.coffee
|
30
|
+
--nocolor
|
31
|
+
)
|
32
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
33
|
+
|
34
|
+
Permpress::CoffeeLint.start(['lint', 'good.coffee', 'bad.coffee'])
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe '#lint', :integration do
|
40
|
+
include_context 'observed output'
|
41
|
+
|
42
|
+
context 'when the file is not lint free' do
|
43
|
+
let(:file){File.expand_path('../../fixtures/bad.coffee', __FILE__)}
|
44
|
+
|
45
|
+
it 'generates the expected output' do
|
46
|
+
expect{Permpress::CLI.start(['coffeelint', 'lint', file])}.to_not exit_successfully
|
47
|
+
|
48
|
+
expect($stdout.string).to eq(
|
49
|
+
"#{file}:1:::camel_case_classes:error:Class names should be camel cased\n"
|
50
|
+
)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context 'when the file is lint free' do
|
55
|
+
let(:file){File.expand_path('../../fixtures/good.coffee', __FILE__)}
|
56
|
+
|
57
|
+
it 'generates the expected output' do
|
58
|
+
expect{Permpress::CLI.start(['coffeelint', 'lint', file])}.to exit_successfully
|
59
|
+
|
60
|
+
expect($stdout.string).to eq('')
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'stringio'
|
3
|
+
|
4
|
+
describe Permpress::Command do
|
5
|
+
let(:file){'fake file.txt'}
|
6
|
+
let(:command){Permpress::Command.new('cat', [file], %w(-b))}
|
7
|
+
|
8
|
+
describe '#run' do
|
9
|
+
let(:output){StringIO.new}
|
10
|
+
|
11
|
+
context 'when command is successfully run' do
|
12
|
+
let(:file){File.expand_path('../../fixtures/lint.txt', __FILE__)}
|
13
|
+
|
14
|
+
it 'generates the expected output' do
|
15
|
+
expect{command.run(output)}.to exit_successfully
|
16
|
+
|
17
|
+
expect(output.string).to eq(" 1\tlint\n")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'when command is unsuccessfully run' do
|
22
|
+
let(:command){Permpress::Command.new('this-command-does-not-exist', [file], %w(-b))}
|
23
|
+
|
24
|
+
it 'generates the expected output' do
|
25
|
+
expect{command.run(output)}.to_not exit_successfully
|
26
|
+
|
27
|
+
expect(output.string).to eq("sh: this-command-does-not-exist: command not found\n")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe '#command/#to_s' do
|
33
|
+
it 'generates an executable command' do
|
34
|
+
expect(command.command).to eq('cat -b fake\ file.txt 2>&1')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Permpress::CSSLint do
|
4
|
+
describe '#lint', :unit do
|
5
|
+
let(:permpress_path){File.expand_path('../../..', __FILE__)}
|
6
|
+
|
7
|
+
context 'when config flag is present' do
|
8
|
+
it 'executes command with expected arguments' do
|
9
|
+
expect(Permpress::Command).to receive(:new).with(
|
10
|
+
'csslint',
|
11
|
+
%w(good.css bad.css),
|
12
|
+
%W(
|
13
|
+
--errors=#{Permpress::CSSLint::RULES}
|
14
|
+
--format=compact
|
15
|
+
--config=.csslintrc
|
16
|
+
)
|
17
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
18
|
+
|
19
|
+
Permpress::CSSLint.start(['lint', '--config', '.csslintrc', 'good.css', 'bad.css'])
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'when config flag is not present' do
|
24
|
+
it 'executes command with expected arguments' do
|
25
|
+
expect(Permpress::Command).to receive(:new).with(
|
26
|
+
'csslint',
|
27
|
+
%w(good.css bad.css),
|
28
|
+
%W(
|
29
|
+
--errors=#{Permpress::CSSLint::RULES}
|
30
|
+
--format=compact
|
31
|
+
)
|
32
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
33
|
+
|
34
|
+
Permpress::CSSLint.start(['lint', 'good.css', 'bad.css'])
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe '#lint', :integration do
|
40
|
+
include_context 'observed output'
|
41
|
+
|
42
|
+
context 'when the file is not lint free' do
|
43
|
+
let(:file){File.expand_path('../../fixtures/bad.css', __FILE__)}
|
44
|
+
|
45
|
+
it 'generates the expected output' do
|
46
|
+
expect{Permpress::CLI.start(['csslint', 'lint', file])}.to_not exit_successfully
|
47
|
+
|
48
|
+
expect($stdout.string).to eq(
|
49
|
+
"#{file}: line 2, col 5, Error - Using width with border can sometimes"\
|
50
|
+
" make elements larger than you expect.\n\n"
|
51
|
+
)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'when the file is lint free' do
|
56
|
+
let(:file){File.expand_path('../../fixtures/good.css', __FILE__)}
|
57
|
+
|
58
|
+
it 'generates the expected output' do
|
59
|
+
expect{Permpress::CLI.start(['csslint', 'lint', file])}.to exit_successfully
|
60
|
+
|
61
|
+
expect($stdout.string).to eq("#{file}: Lint Free!\n")
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Permpress::GoLint do
|
4
|
+
describe '#lint', :unit do
|
5
|
+
let(:permpress_path){File.expand_path('../../..', __FILE__)}
|
6
|
+
|
7
|
+
it 'executes command with expected arguments' do
|
8
|
+
expect(Permpress::Command).to receive(:new).with(
|
9
|
+
'fgt golint',
|
10
|
+
%w(good.go bad.go),
|
11
|
+
[]
|
12
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
13
|
+
|
14
|
+
Permpress::GoLint.start(['lint', 'good.go', 'bad.go'])
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#lint', :integration do
|
19
|
+
include_context 'observed output'
|
20
|
+
|
21
|
+
context 'when the file is not lint free' do
|
22
|
+
let(:file){File.expand_path('../../fixtures/bad.go', __FILE__)}
|
23
|
+
|
24
|
+
it 'generates the expected output' do
|
25
|
+
expect{Permpress::CLI.start(['golint', 'lint', file])}.to_not exit_successfully
|
26
|
+
|
27
|
+
expect($stdout.string).to eq(
|
28
|
+
"#{file}:5:1: exported function Main should have comment or be unexported\n"
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'when the file is lint free' do
|
34
|
+
let(:file){File.expand_path('../../fixtures/good.go', __FILE__)}
|
35
|
+
|
36
|
+
it 'generates the expected output' do
|
37
|
+
expect{Permpress::CLI.start(['golint', 'lint', file])}.to exit_successfully
|
38
|
+
|
39
|
+
expect($stdout.string).to eq('')
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Permpress::JSHint do
|
4
|
+
describe '#lint', :unit do
|
5
|
+
let(:permpress_path){File.expand_path('../../..', __FILE__)}
|
6
|
+
|
7
|
+
context 'when config flag is present' do
|
8
|
+
it 'executes command with expected arguments' do
|
9
|
+
expect(Permpress::Command).to receive(:new).with(
|
10
|
+
'jshint',
|
11
|
+
%w(good.js bad.js),
|
12
|
+
%W(
|
13
|
+
--reporter #{permpress_path}/lib/permpress/jshint/formatter.js
|
14
|
+
--config .jshintrc
|
15
|
+
)
|
16
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
17
|
+
|
18
|
+
Permpress::JSHint.start(['lint', '--config', '.jshintrc', 'good.js', 'bad.js'])
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'when config flag is not present' do
|
23
|
+
it 'executes command with expected arguments' do
|
24
|
+
expect(Permpress::Command).to receive(:new).with(
|
25
|
+
'jshint',
|
26
|
+
%w(good.js bad.js),
|
27
|
+
%W(
|
28
|
+
--reporter #{permpress_path}/lib/permpress/jshint/formatter.js
|
29
|
+
)
|
30
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
31
|
+
|
32
|
+
Permpress::JSHint.start(['lint', 'good.js', 'bad.js'])
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe '#lint', :integration do
|
38
|
+
include_context 'observed output'
|
39
|
+
|
40
|
+
context 'when the file is not lint free' do
|
41
|
+
let(:file){File.expand_path('../../fixtures/bad.js', __FILE__)}
|
42
|
+
|
43
|
+
it 'generates the expected output' do
|
44
|
+
expect{Permpress::CLI.start(['jshint', 'lint', file])}.to_not exit_successfully
|
45
|
+
|
46
|
+
expect($stdout.string).to eq(
|
47
|
+
"#{file}:2:13::E031:error:Bad assignment.\n"\
|
48
|
+
"#{file}:2:13::W030:warning:Expected an assignment or function call and instead saw an expression.\n"\
|
49
|
+
"#{file}:2:14::W033:warning:Missing semicolon.\n"\
|
50
|
+
"#{file}:2:15::W030:warning:Expected an assignment or function call and instead saw an expression.\n"
|
51
|
+
)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'when the file is lint free' do
|
56
|
+
let(:file){File.expand_path('../../fixtures/good.js', __FILE__)}
|
57
|
+
|
58
|
+
it 'generates the expected output' do
|
59
|
+
expect{Permpress::CLI.start(['jshint', 'lint', file])}.to exit_successfully
|
60
|
+
|
61
|
+
expect($stdout.string).to eq('')
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Permpress::JSONLint do
|
4
|
+
describe '#lint', :unit do
|
5
|
+
let(:permpress_path){File.expand_path('../../..', __FILE__)}
|
6
|
+
|
7
|
+
it 'executes command with expected arguments' do
|
8
|
+
expect(Permpress::Command).to receive(:new).with(
|
9
|
+
'durable-json-lint',
|
10
|
+
%w(good.json bad.json),
|
11
|
+
['--format', '{{file}}:{{line}}:{{column}}:::error:{{{description}}}']
|
12
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
13
|
+
|
14
|
+
Permpress::JSONLint.start(['lint', 'good.json', 'bad.json'])
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#lint', :integration do
|
19
|
+
include_context 'observed output'
|
20
|
+
|
21
|
+
context 'when the file is not lint free' do
|
22
|
+
let(:file){File.expand_path('../../fixtures/bad.json', __FILE__)}
|
23
|
+
|
24
|
+
it 'generates the expected output' do
|
25
|
+
expect{Permpress::CLI.start(['jsonlint', 'lint', file])}.to_not exit_successfully
|
26
|
+
|
27
|
+
expect($stdout.string).to eq(
|
28
|
+
"#{file}:2:2:::error:Json strings must use double quotes\n"\
|
29
|
+
"#{file}:3:2:::error:Keys must be double quoted in Json. Did you mean \"not\"?\n"\
|
30
|
+
"#{file}:3:7:::error:Invalid Json number\n"
|
31
|
+
)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'when the file is lint free' do
|
36
|
+
let(:file){File.expand_path('../../fixtures/good.json', __FILE__)}
|
37
|
+
|
38
|
+
it 'generates the expected output' do
|
39
|
+
expect{Permpress::CLI.start(['jsonlint', 'lint', file])}.to exit_successfully
|
40
|
+
|
41
|
+
expect($stdout.string).to eq('')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Permpress::RuboCop do
|
4
|
+
describe '#lint', :unit do
|
5
|
+
let(:permpress_path){File.expand_path('../../..', __FILE__)}
|
6
|
+
|
7
|
+
context 'when config flag is present' do
|
8
|
+
it 'executes command with expected arguments' do
|
9
|
+
expect(Permpress::Command).to receive(:new).with(
|
10
|
+
'rubocop',
|
11
|
+
%w(good.rb bad.rb),
|
12
|
+
%W(
|
13
|
+
--require #{permpress_path}/lib/permpress/rubocop/formatter.rb
|
14
|
+
--format Permpress::Rubocop::Formatter
|
15
|
+
--no-color
|
16
|
+
--config .rubocop.yml
|
17
|
+
)
|
18
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
19
|
+
|
20
|
+
Permpress::RuboCop.start(['lint', '--config', '.rubocop.yml', 'good.rb', 'bad.rb'])
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'when config flag is not present' do
|
25
|
+
it 'executes command with expected arguments' do
|
26
|
+
expect(Permpress::Command).to receive(:new).with(
|
27
|
+
'rubocop',
|
28
|
+
%w(good.rb bad.rb),
|
29
|
+
%W(
|
30
|
+
--require #{permpress_path}/lib/permpress/rubocop/formatter.rb
|
31
|
+
--format Permpress::Rubocop::Formatter
|
32
|
+
--no-color
|
33
|
+
)
|
34
|
+
).and_return(instance_double(Permpress::Command, run: nil))
|
35
|
+
|
36
|
+
Permpress::RuboCop.start(['lint', 'good.rb', 'bad.rb'])
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe '#lint', :integration do
|
42
|
+
include_context 'observed output'
|
43
|
+
|
44
|
+
context 'when the file is not lint free' do
|
45
|
+
let(:file){File.expand_path('../../fixtures/bad.rb', __FILE__)}
|
46
|
+
|
47
|
+
it 'generates the expected output' do
|
48
|
+
expect{Permpress::CLI.start(['rubocop', 'lint', file])}.to_not exit_successfully
|
49
|
+
|
50
|
+
expect($stdout.string).to eq(
|
51
|
+
"#{file}:1:1:5:Style/Documentation:convention:Missing top-level class documentation comment.\n"\
|
52
|
+
"#{file}:2:7:4:Style/MethodName:convention:Use snake_case for methods.\n"
|
53
|
+
)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'when the file is lint free' do
|
58
|
+
let(:file){File.expand_path('../../fixtures/good.rb', __FILE__)}
|
59
|
+
|
60
|
+
it 'generates the expected output' do
|
61
|
+
expect{Permpress::CLI.start(['rubocop', 'lint', file])}.to exit_successfully
|
62
|
+
|
63
|
+
expect($stdout.string).to eq('')
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|