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.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +18 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +56 -0
  8. data/Rakefile +6 -0
  9. data/bin/permpress +5 -0
  10. data/lib/permpress.rb +2 -0
  11. data/lib/permpress/checkstyle.rb +26 -0
  12. data/lib/permpress/checkstyle/checkstyle_logger-all.jar +0 -0
  13. data/lib/permpress/checkstyle/sun_checks.xml +177 -0
  14. data/lib/permpress/cli.rb +43 -0
  15. data/lib/permpress/coffeelint.rb +27 -0
  16. data/lib/permpress/coffeelint/lintci.coffee +12 -0
  17. data/lib/permpress/command.rb +42 -0
  18. data/lib/permpress/csslint.rb +63 -0
  19. data/lib/permpress/golint.rb +12 -0
  20. data/lib/permpress/govet.rb +7 -0
  21. data/lib/permpress/jshint.rb +23 -0
  22. data/lib/permpress/jshint/formatter.js +23 -0
  23. data/lib/permpress/jslint.rb +7 -0
  24. data/lib/permpress/jsonlint.rb +19 -0
  25. data/lib/permpress/rubocop.rb +28 -0
  26. data/lib/permpress/rubocop/formatter.rb +22 -0
  27. data/lib/permpress/scsslint.rb +24 -0
  28. data/lib/permpress/scsslint/scsslint +37 -0
  29. data/lib/permpress/version.rb +4 -0
  30. data/permpress.gemspec +27 -0
  31. data/spec/fixtures/Good.java +6 -0
  32. data/spec/fixtures/bad.coffee +1 -0
  33. data/spec/fixtures/bad.css +4 -0
  34. data/spec/fixtures/bad.go +7 -0
  35. data/spec/fixtures/bad.java +3 -0
  36. data/spec/fixtures/bad.js +3 -0
  37. data/spec/fixtures/bad.json +4 -0
  38. data/spec/fixtures/bad.rb +4 -0
  39. data/spec/fixtures/bad.scss +3 -0
  40. data/spec/fixtures/good.coffee +1 -0
  41. data/spec/fixtures/good.css +3 -0
  42. data/spec/fixtures/good.go +7 -0
  43. data/spec/fixtures/good.js +5 -0
  44. data/spec/fixtures/good.json +4 -0
  45. data/spec/fixtures/good.rb +5 -0
  46. data/spec/fixtures/good.scss +3 -0
  47. data/spec/fixtures/lint.txt +1 -0
  48. data/spec/permpress/checkstyle_spec.rb +66 -0
  49. data/spec/permpress/coffeelint_spec.rb +64 -0
  50. data/spec/permpress/command_spec.rb +37 -0
  51. data/spec/permpress/csslint_spec.rb +65 -0
  52. data/spec/permpress/golint_spec.rb +43 -0
  53. data/spec/permpress/jshint_spec.rb +65 -0
  54. data/spec/permpress/jsonlint_spec.rb +45 -0
  55. data/spec/permpress/rubocop_spec.rb +67 -0
  56. data/spec/permpress/scsslint_spec.rb +62 -0
  57. data/spec/permpress_spec.rb +7 -0
  58. data/spec/spec_helper.rb +4 -0
  59. data/spec/support/exit_matcher.rb +15 -0
  60. data/spec/support/observed_output_context.rb +10 -0
  61. metadata +204 -0
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ describe Permpress::SCSSLint 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
+ "#{permpress_path}/lib/permpress/scsslint/scsslint",
11
+ %w(good.scss bad.scss),
12
+ %w(
13
+ --format=LintCI
14
+ --config=.scss-lint.yml
15
+ )
16
+ ).and_return(instance_double(Permpress::Command, run: nil))
17
+
18
+ Permpress::SCSSLint.start(['lint', '--config', '.scss-lint.yml', 'good.scss', 'bad.scss'])
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
+ "#{permpress_path}/lib/permpress/scsslint/scsslint",
26
+ %w(good.scss bad.scss),
27
+ %w(
28
+ --format=LintCI
29
+ )
30
+ ).and_return(instance_double(Permpress::Command, run: nil))
31
+
32
+ Permpress::SCSSLint.start(['lint', 'good.scss', 'bad.scss'])
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.scss', __FILE__)}
42
+
43
+ it 'generates the expected output' do
44
+ expect{Permpress::CLI.start(['scsslint', 'lint', file])}.to_not exit_successfully
45
+
46
+ expect($stdout.string).to eq(
47
+ "#{file}:2:3:12:BorderZero:warning:`border: 0;` is preferred over `border: none;`\n"
48
+ )
49
+ end
50
+ end
51
+
52
+ context 'when the file is lint free' do
53
+ let(:file){File.expand_path('../../fixtures/good.scss', __FILE__)}
54
+
55
+ it 'generates the expected output' do
56
+ expect{Permpress::CLI.start(['scsslint', 'lint', file])}.to exit_successfully
57
+
58
+ expect($stdout.string).to eq('')
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe Permpress do
4
+ it 'has a version number' do
5
+ expect(Permpress::VERSION).not_to be nil
6
+ end
7
+ end
@@ -0,0 +1,4 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+
3
+ require 'permpress'
4
+ Dir['./spec/support/**/*.rb'].each{|file| require file}
@@ -0,0 +1,15 @@
1
+ RSpec::Matchers.define :exit_successfully do
2
+ match do |actual|
3
+ begin
4
+ actual.call
5
+ rescue SystemExit => system_exit
6
+ system_exit.success?
7
+ else
8
+ false
9
+ end
10
+ end
11
+
12
+ def supports_block_expectations?
13
+ true
14
+ end
15
+ end
@@ -0,0 +1,10 @@
1
+ RSpec.shared_context 'observed output' do
2
+ around(:each) do |example|
3
+ $stdout, out = StringIO.new, $stdout
4
+ $stderr, err = StringIO.new, $stderr
5
+
6
+ example.run
7
+
8
+ $stdout, $stderr = out, err
9
+ end
10
+ end
metadata ADDED
@@ -0,0 +1,204 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: permpress
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Allen Madsen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-08-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Standardizes execution of various linters.
84
+ email:
85
+ - blatyo@gmail.com
86
+ executables:
87
+ - permpress
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".gitignore"
92
+ - ".rspec"
93
+ - ".rubocop.yml"
94
+ - Gemfile
95
+ - LICENSE.txt
96
+ - README.md
97
+ - Rakefile
98
+ - bin/permpress
99
+ - lib/permpress.rb
100
+ - lib/permpress/checkstyle.rb
101
+ - lib/permpress/checkstyle/checkstyle_logger-all.jar
102
+ - lib/permpress/checkstyle/sun_checks.xml
103
+ - lib/permpress/cli.rb
104
+ - lib/permpress/coffeelint.rb
105
+ - lib/permpress/coffeelint/lintci.coffee
106
+ - lib/permpress/command.rb
107
+ - lib/permpress/csslint.rb
108
+ - lib/permpress/golint.rb
109
+ - lib/permpress/govet.rb
110
+ - lib/permpress/jshint.rb
111
+ - lib/permpress/jshint/formatter.js
112
+ - lib/permpress/jslint.rb
113
+ - lib/permpress/jsonlint.rb
114
+ - lib/permpress/rubocop.rb
115
+ - lib/permpress/rubocop/formatter.rb
116
+ - lib/permpress/scsslint.rb
117
+ - lib/permpress/scsslint/scsslint
118
+ - lib/permpress/version.rb
119
+ - permpress.gemspec
120
+ - spec/fixtures/Good.java
121
+ - spec/fixtures/bad.coffee
122
+ - spec/fixtures/bad.css
123
+ - spec/fixtures/bad.go
124
+ - spec/fixtures/bad.java
125
+ - spec/fixtures/bad.js
126
+ - spec/fixtures/bad.json
127
+ - spec/fixtures/bad.rb
128
+ - spec/fixtures/bad.scss
129
+ - spec/fixtures/good.coffee
130
+ - spec/fixtures/good.css
131
+ - spec/fixtures/good.go
132
+ - spec/fixtures/good.js
133
+ - spec/fixtures/good.json
134
+ - spec/fixtures/good.rb
135
+ - spec/fixtures/good.scss
136
+ - spec/fixtures/lint.txt
137
+ - spec/permpress/checkstyle_spec.rb
138
+ - spec/permpress/coffeelint_spec.rb
139
+ - spec/permpress/command_spec.rb
140
+ - spec/permpress/csslint_spec.rb
141
+ - spec/permpress/golint_spec.rb
142
+ - spec/permpress/jshint_spec.rb
143
+ - spec/permpress/jsonlint_spec.rb
144
+ - spec/permpress/rubocop_spec.rb
145
+ - spec/permpress/scsslint_spec.rb
146
+ - spec/permpress_spec.rb
147
+ - spec/spec_helper.rb
148
+ - spec/support/exit_matcher.rb
149
+ - spec/support/observed_output_context.rb
150
+ homepage: https://github.com/lintci/permpress
151
+ licenses:
152
+ - MIT
153
+ metadata: {}
154
+ post_install_message:
155
+ rdoc_options: []
156
+ require_paths:
157
+ - lib
158
+ required_ruby_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ required_rubygems_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ requirements: []
169
+ rubyforge_project:
170
+ rubygems_version: 2.4.1
171
+ signing_key:
172
+ specification_version: 4
173
+ summary: Standardizes execution of various linters.
174
+ test_files:
175
+ - spec/fixtures/Good.java
176
+ - spec/fixtures/bad.coffee
177
+ - spec/fixtures/bad.css
178
+ - spec/fixtures/bad.go
179
+ - spec/fixtures/bad.java
180
+ - spec/fixtures/bad.js
181
+ - spec/fixtures/bad.json
182
+ - spec/fixtures/bad.rb
183
+ - spec/fixtures/bad.scss
184
+ - spec/fixtures/good.coffee
185
+ - spec/fixtures/good.css
186
+ - spec/fixtures/good.go
187
+ - spec/fixtures/good.js
188
+ - spec/fixtures/good.json
189
+ - spec/fixtures/good.rb
190
+ - spec/fixtures/good.scss
191
+ - spec/fixtures/lint.txt
192
+ - spec/permpress/checkstyle_spec.rb
193
+ - spec/permpress/coffeelint_spec.rb
194
+ - spec/permpress/command_spec.rb
195
+ - spec/permpress/csslint_spec.rb
196
+ - spec/permpress/golint_spec.rb
197
+ - spec/permpress/jshint_spec.rb
198
+ - spec/permpress/jsonlint_spec.rb
199
+ - spec/permpress/rubocop_spec.rb
200
+ - spec/permpress/scsslint_spec.rb
201
+ - spec/permpress_spec.rb
202
+ - spec/spec_helper.rb
203
+ - spec/support/exit_matcher.rb
204
+ - spec/support/observed_output_context.rb