jshint4r 0.1.0 → 0.1.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.
data/Gemfile CHANGED
@@ -11,6 +11,10 @@ group :development do
11
11
  gem "rspec"
12
12
  gem "bundler"
13
13
  gem "jeweler"
14
- gem "rcov"
14
+ if RUBY_VERSION < '1.9'
15
+ gem "rcov"
16
+ else
17
+ gem 'simplecov'
18
+ end
15
19
  gem 'rdoc'
16
20
  end
data/Rakefile CHANGED
@@ -35,9 +35,13 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
35
35
  spec.pattern = FileList['spec/**/*_spec.rb']
36
36
  end
37
37
 
38
- RSpec::Core::RakeTask.new(:rcov) do |spec|
38
+ RSpec::Core::RakeTask.new('spec:coverage') do |spec|
39
39
  spec.pattern = 'spec/**/*_spec.rb'
40
- spec.rcov = true
40
+ if RUBY_VERSION < '1.9'
41
+ spec.rcov = true
42
+ else
43
+ ENV['COVERAGE'] = 'true'
44
+ end
41
45
  end
42
46
 
43
47
  task :default => :spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/jshint4r.gemspec ADDED
@@ -0,0 +1,97 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "jshint4r"
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["wtnabe"]
12
+ s.date = "2013-01-20"
13
+ s.description = "jshint runner for ruby"
14
+ s.email = "wtnabe@gmail.com"
15
+ s.executables = ["jshint4r"]
16
+ s.extra_rdoc_files = [
17
+ "LICENSE.txt",
18
+ "README.rdoc"
19
+ ]
20
+ s.files = [
21
+ ".document",
22
+ ".gitmodules",
23
+ ".rspec",
24
+ "Gemfile",
25
+ "LICENSE.txt",
26
+ "README.rdoc",
27
+ "Rakefile",
28
+ "VERSION",
29
+ "bin/jshint4r",
30
+ "jshint4r.gemspec",
31
+ "lib/jshint4r.rb",
32
+ "lib/jshint4r/cli.rb",
33
+ "lib/jshint4r/config.rb",
34
+ "lib/jshint4r/jshint_runner.js",
35
+ "lib/jshint4r/linter.rb",
36
+ "lib/jshint4r/reporter.rb",
37
+ "lib/jshint4r/reporter/compilation.rb",
38
+ "lib/jshint4r/reporter/text.rb",
39
+ "lib/jshint4r/result.rb",
40
+ "lib/jshint4r/source.rb",
41
+ "lib/jshint4r/target.rb",
42
+ "lib/tasks/git-untracked.rake",
43
+ "spec/fixtures/config.yml",
44
+ "spec/fixtures/missing_semicolon.js",
45
+ "spec/fixtures/no_errors.js",
46
+ "spec/jshint4r/config_spec.rb",
47
+ "spec/jshint4r/linter_spec.rb",
48
+ "spec/jshint4r/reporter/compilcation_spec.rb",
49
+ "spec/jshint4r/reporter/text_spec.rb",
50
+ "spec/jshint4r/reporter_spec.rb",
51
+ "spec/jshint4r/result_spec.rb",
52
+ "spec/jshint4r/source_spec.rb",
53
+ "spec/jshint4r/target_spec.rb",
54
+ "spec/jshint4r_spec.rb",
55
+ "spec/spec_helper.rb",
56
+ "spec/support/sample_error.rb",
57
+ "vendor/jshint/CHANGELOG",
58
+ "vendor/jshint/README.markdown",
59
+ "vendor/jshint/jshint.js"
60
+ ]
61
+ s.homepage = "http://github.com/wtnabe/jshint4r"
62
+ s.licenses = ["MIT"]
63
+ s.require_paths = ["lib"]
64
+ s.rubygems_version = "1.8.15"
65
+ s.summary = "jshint4r"
66
+
67
+ if s.respond_to? :specification_version then
68
+ s.specification_version = 3
69
+
70
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
71
+ s.add_runtime_dependency(%q<execjs>, [">= 0"])
72
+ s.add_runtime_dependency(%q<rake>, [">= 0"])
73
+ s.add_development_dependency(%q<rspec>, [">= 0"])
74
+ s.add_development_dependency(%q<bundler>, [">= 0"])
75
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
76
+ s.add_development_dependency(%q<rcov>, [">= 0"])
77
+ s.add_development_dependency(%q<rdoc>, [">= 0"])
78
+ else
79
+ s.add_dependency(%q<execjs>, [">= 0"])
80
+ s.add_dependency(%q<rake>, [">= 0"])
81
+ s.add_dependency(%q<rspec>, [">= 0"])
82
+ s.add_dependency(%q<bundler>, [">= 0"])
83
+ s.add_dependency(%q<jeweler>, [">= 0"])
84
+ s.add_dependency(%q<rcov>, [">= 0"])
85
+ s.add_dependency(%q<rdoc>, [">= 0"])
86
+ end
87
+ else
88
+ s.add_dependency(%q<execjs>, [">= 0"])
89
+ s.add_dependency(%q<rake>, [">= 0"])
90
+ s.add_dependency(%q<rspec>, [">= 0"])
91
+ s.add_dependency(%q<bundler>, [">= 0"])
92
+ s.add_dependency(%q<jeweler>, [">= 0"])
93
+ s.add_dependency(%q<rcov>, [">= 0"])
94
+ s.add_dependency(%q<rdoc>, [">= 0"])
95
+ end
96
+ end
97
+
@@ -15,7 +15,28 @@ module JSHint4r
15
15
  # [return] Array or nil
16
16
  #
17
17
  def lint( target )
18
- context.call('JSHINT.run', File.read(target), opts )
18
+ errors = context.call('JSHINT.run', File.read(target), opts )
19
+ if errors
20
+ errors = errors.compact
21
+ errors = allow_unsafe_character(errors) if opts['unsafechar']
22
+ end
23
+
24
+ errors
25
+ end
26
+
27
+ #
28
+ # [param] Array errors
29
+ # [return] Array
30
+ #
31
+ def allow_unsafe_character( errors )
32
+ errors.select { |e|
33
+ case e['reason']
34
+ when /Unsafe character\./, /Too many errors\./
35
+ false
36
+ else
37
+ true
38
+ end
39
+ }
19
40
  end
20
41
  end
21
42
  end
@@ -12,6 +12,7 @@ module JSHint4r
12
12
  #
13
13
  def parse( errors )
14
14
  errors = errors || ''
15
+ raise TypeError unless errors.is_a? String
15
16
  ExecJS.eval( errors )
16
17
  end
17
18
  end
@@ -44,7 +44,7 @@ describe JSHint4r::Result do
44
44
  @errors.parse( "{ abc: def }" )
45
45
  }
46
46
  it {
47
- expect{subject}.should raise_error(ExecJS::ProgramError)
47
+ expect{subject}.to raise_error(ExecJS::ProgramError)
48
48
  }
49
49
  end
50
50
  context "'[]'" do
@@ -60,7 +60,7 @@ describe JSHint4r::Result do
60
60
  @errors.parse( [] )
61
61
  }
62
62
  it {
63
- expect{should}.to raise_error(TypeError)
63
+ expect{subject}.to raise_error(TypeError)
64
64
  }
65
65
  end
66
66
  context 'empty string' do
@@ -92,7 +92,7 @@ describe JSHint4r::Result do
92
92
  @errors.parse( 'var abc' )
93
93
  }
94
94
  it {
95
- expect{should}.to raise_error(ExecJS::ProgramError)
95
+ expect{subject}.to raise_error(ExecJS::RuntimeError)
96
96
  }
97
97
  end
98
98
  end
data/spec/spec_helper.rb CHANGED
@@ -2,6 +2,13 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
  require 'rspec'
4
4
  require 'jshint4r'
5
+ require 'simplecov' if RUBY_VERSION >= '1.9'
6
+
7
+ if defined? SimpleCov and ENV['COVERAGE']
8
+ SimpleCov.start do
9
+ add_filter '/vendor/'
10
+ end
11
+ end
5
12
 
6
13
  # Requires supporting files with custom matchers and macros, etc,
7
14
  # in ./support/ and its subdirectories.
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jshint4r
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - wtnabe
@@ -15,9 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-05 00:00:00 Z
18
+ date: 2013-01-20 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
+ prerelease: false
21
22
  version_requirements: &id001 !ruby/object:Gem::Requirement
22
23
  none: false
23
24
  requirements:
@@ -27,11 +28,11 @@ dependencies:
27
28
  segments:
28
29
  - 0
29
30
  version: "0"
31
+ requirement: *id001
30
32
  name: execjs
31
- prerelease: false
32
33
  type: :runtime
33
- requirement: *id001
34
34
  - !ruby/object:Gem::Dependency
35
+ prerelease: false
35
36
  version_requirements: &id002 !ruby/object:Gem::Requirement
36
37
  none: false
37
38
  requirements:
@@ -41,11 +42,11 @@ dependencies:
41
42
  segments:
42
43
  - 0
43
44
  version: "0"
45
+ requirement: *id002
44
46
  name: rake
45
- prerelease: false
46
47
  type: :runtime
47
- requirement: *id002
48
48
  - !ruby/object:Gem::Dependency
49
+ prerelease: false
49
50
  version_requirements: &id003 !ruby/object:Gem::Requirement
50
51
  none: false
51
52
  requirements:
@@ -55,11 +56,11 @@ dependencies:
55
56
  segments:
56
57
  - 0
57
58
  version: "0"
59
+ requirement: *id003
58
60
  name: rspec
59
- prerelease: false
60
61
  type: :development
61
- requirement: *id003
62
62
  - !ruby/object:Gem::Dependency
63
+ prerelease: false
63
64
  version_requirements: &id004 !ruby/object:Gem::Requirement
64
65
  none: false
65
66
  requirements:
@@ -69,11 +70,11 @@ dependencies:
69
70
  segments:
70
71
  - 0
71
72
  version: "0"
73
+ requirement: *id004
72
74
  name: bundler
73
- prerelease: false
74
75
  type: :development
75
- requirement: *id004
76
76
  - !ruby/object:Gem::Dependency
77
+ prerelease: false
77
78
  version_requirements: &id005 !ruby/object:Gem::Requirement
78
79
  none: false
79
80
  requirements:
@@ -83,11 +84,11 @@ dependencies:
83
84
  segments:
84
85
  - 0
85
86
  version: "0"
87
+ requirement: *id005
86
88
  name: jeweler
87
- prerelease: false
88
89
  type: :development
89
- requirement: *id005
90
90
  - !ruby/object:Gem::Dependency
91
+ prerelease: false
91
92
  version_requirements: &id006 !ruby/object:Gem::Requirement
92
93
  none: false
93
94
  requirements:
@@ -97,11 +98,11 @@ dependencies:
97
98
  segments:
98
99
  - 0
99
100
  version: "0"
101
+ requirement: *id006
100
102
  name: rcov
101
- prerelease: false
102
103
  type: :development
103
- requirement: *id006
104
104
  - !ruby/object:Gem::Dependency
105
+ prerelease: false
105
106
  version_requirements: &id007 !ruby/object:Gem::Requirement
106
107
  none: false
107
108
  requirements:
@@ -111,10 +112,9 @@ dependencies:
111
112
  segments:
112
113
  - 0
113
114
  version: "0"
115
+ requirement: *id007
114
116
  name: rdoc
115
- prerelease: false
116
117
  type: :development
117
- requirement: *id007
118
118
  description: jshint runner for ruby
119
119
  email: wtnabe@gmail.com
120
120
  executables:
@@ -134,6 +134,7 @@ files:
134
134
  - Rakefile
135
135
  - VERSION
136
136
  - bin/jshint4r
137
+ - jshint4r.gemspec
137
138
  - lib/jshint4r.rb
138
139
  - lib/jshint4r/cli.rb
139
140
  - lib/jshint4r/config.rb
@@ -192,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
193
  requirements: []
193
194
 
194
195
  rubyforge_project:
195
- rubygems_version: 1.8.8
196
+ rubygems_version: 1.8.15
196
197
  signing_key:
197
198
  specification_version: 3
198
199
  summary: jshint4r