ripper_ruby_parser 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +2 -2
  4. data/Rakefile +1 -1
  5. data/lib/ripper_ruby_parser.rb +0 -7
  6. data/lib/ripper_ruby_parser/commenting_ripper_parser.rb +112 -34
  7. data/lib/ripper_ruby_parser/parser.rb +26 -12
  8. data/lib/ripper_ruby_parser/sexp_handlers.rb +4 -1
  9. data/lib/ripper_ruby_parser/sexp_handlers/arguments.rb +7 -6
  10. data/lib/ripper_ruby_parser/sexp_handlers/arrays.rb +4 -2
  11. data/lib/ripper_ruby_parser/sexp_handlers/assignment.rb +39 -43
  12. data/lib/ripper_ruby_parser/sexp_handlers/blocks.rb +93 -69
  13. data/lib/ripper_ruby_parser/sexp_handlers/conditionals.rb +30 -24
  14. data/lib/ripper_ruby_parser/sexp_handlers/hashes.rb +7 -9
  15. data/lib/ripper_ruby_parser/sexp_handlers/helper_methods.rb +51 -71
  16. data/lib/ripper_ruby_parser/sexp_handlers/literals.rb +72 -56
  17. data/lib/ripper_ruby_parser/sexp_handlers/loops.rb +14 -13
  18. data/lib/ripper_ruby_parser/sexp_handlers/method_calls.rb +19 -13
  19. data/lib/ripper_ruby_parser/sexp_handlers/methods.rb +19 -22
  20. data/lib/ripper_ruby_parser/sexp_handlers/operators.rb +47 -35
  21. data/lib/ripper_ruby_parser/sexp_processor.rb +72 -85
  22. data/lib/ripper_ruby_parser/version.rb +1 -1
  23. data/test/end_to_end/line_numbering_test.rb +1 -1
  24. data/test/end_to_end/samples_comparison_test.rb +0 -1
  25. data/test/pt_testcase/pt_test.rb +4 -6
  26. data/test/{unit → ripper_ruby_parser}/commenting_ripper_parser_test.rb +82 -25
  27. data/test/{unit → ripper_ruby_parser}/parser_test.rb +37 -170
  28. data/test/{unit/parser_assignment_test.rb → ripper_ruby_parser/sexp_handlers/assignment_test.rb} +1 -1
  29. data/test/{unit/parser_blocks_test.rb → ripper_ruby_parser/sexp_handlers/blocks_test.rb} +267 -2
  30. data/test/{unit/parser_conditionals_test.rb → ripper_ruby_parser/sexp_handlers/conditionals_test.rb} +125 -17
  31. data/test/{unit/parser_literals_test.rb → ripper_ruby_parser/sexp_handlers/literals_test.rb} +10 -12
  32. data/test/{unit/parser_loops_test.rb → ripper_ruby_parser/sexp_handlers/loops_test.rb} +1 -1
  33. data/test/{unit/parser_method_calls_test.rb → ripper_ruby_parser/sexp_handlers/method_calls_test.rb} +10 -10
  34. data/test/{unit/parser_operators_test.rb → ripper_ruby_parser/sexp_handlers/operators_test.rb} +22 -2
  35. data/test/{unit → ripper_ruby_parser}/sexp_processor_test.rb +49 -48
  36. data/test/{unit → ripper_ruby_parser}/version_test.rb +0 -0
  37. data/test/samples/misc.rb +4 -0
  38. data/test/test_helper.rb +4 -4
  39. metadata +28 -42
  40. data/test/end_to_end/error_conditions_test.rb +0 -51
File without changes
@@ -0,0 +1,4 @@
1
+ # Collect diverse tricky pieces of code here
2
+ #
3
+
4
+ enc = __ENCODING__
data/test/test_helper.rb CHANGED
@@ -11,11 +11,11 @@ require 'ripper_ruby_parser'
11
11
 
12
12
  module MiniTest
13
13
  class Spec
14
- def formatted exp
14
+ def formatted(exp)
15
15
  exp.to_s.gsub(/\), /, "),\n")
16
16
  end
17
17
 
18
- def to_comments exp
18
+ def to_comments(exp)
19
19
  inner = exp.map do |sub_exp|
20
20
  if sub_exp.is_a? Sexp
21
21
  to_comments sub_exp
@@ -32,7 +32,7 @@ module MiniTest
32
32
  end
33
33
  end
34
34
 
35
- def assert_parsed_as sexp, code
35
+ def assert_parsed_as(sexp, code)
36
36
  parser = RipperRubyParser::Parser.new
37
37
  result = parser.parse code
38
38
  if sexp.nil?
@@ -42,7 +42,7 @@ module MiniTest
42
42
  end
43
43
  end
44
44
 
45
- def assert_parsed_as_before code
45
+ def assert_parsed_as_before(code)
46
46
  oldparser = RubyParser.new
47
47
  newparser = RipperRubyParser::Parser.new
48
48
  expected = oldparser.parse code.dup
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ripper_ruby_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matijs van Zuijlen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-07 00:00:00.000000000 Z
11
+ date: 2018-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sexp_processor
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: pry
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
83
  description: |2
98
84
  RipperRubyParser is a parser for Ruby based on Ripper that aims to be a
99
85
  drop-in replacement for RubyParser.
@@ -128,25 +114,25 @@ files:
128
114
  - lib/ripper_ruby_parser/version.rb
129
115
  - test/end_to_end/comments_test.rb
130
116
  - test/end_to_end/comparison_test.rb
131
- - test/end_to_end/error_conditions_test.rb
132
117
  - test/end_to_end/lib_comparison_test.rb
133
118
  - test/end_to_end/line_numbering_test.rb
134
119
  - test/end_to_end/samples_comparison_test.rb
135
120
  - test/end_to_end/test_comparison_test.rb
136
121
  - test/pt_testcase/pt_test.rb
122
+ - test/ripper_ruby_parser/commenting_ripper_parser_test.rb
123
+ - test/ripper_ruby_parser/parser_test.rb
124
+ - test/ripper_ruby_parser/sexp_handlers/assignment_test.rb
125
+ - test/ripper_ruby_parser/sexp_handlers/blocks_test.rb
126
+ - test/ripper_ruby_parser/sexp_handlers/conditionals_test.rb
127
+ - test/ripper_ruby_parser/sexp_handlers/literals_test.rb
128
+ - test/ripper_ruby_parser/sexp_handlers/loops_test.rb
129
+ - test/ripper_ruby_parser/sexp_handlers/method_calls_test.rb
130
+ - test/ripper_ruby_parser/sexp_handlers/operators_test.rb
131
+ - test/ripper_ruby_parser/sexp_processor_test.rb
132
+ - test/ripper_ruby_parser/version_test.rb
137
133
  - test/samples/inline.rb
134
+ - test/samples/misc.rb
138
135
  - test/test_helper.rb
139
- - test/unit/commenting_ripper_parser_test.rb
140
- - test/unit/parser_assignment_test.rb
141
- - test/unit/parser_blocks_test.rb
142
- - test/unit/parser_conditionals_test.rb
143
- - test/unit/parser_literals_test.rb
144
- - test/unit/parser_loops_test.rb
145
- - test/unit/parser_method_calls_test.rb
146
- - test/unit/parser_operators_test.rb
147
- - test/unit/parser_test.rb
148
- - test/unit/sexp_processor_test.rb
149
- - test/unit/version_test.rb
150
136
  homepage: http://www.github.com/mvz/ripper_ruby_parser
151
137
  licenses:
152
138
  - MIT
@@ -161,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
161
147
  requirements:
162
148
  - - ">="
163
149
  - !ruby/object:Gem::Version
164
- version: 2.0.0
150
+ version: 2.2.0
165
151
  required_rubygems_version: !ruby/object:Gem::Requirement
166
152
  requirements:
167
153
  - - ">="
@@ -169,29 +155,29 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
155
  version: '0'
170
156
  requirements: []
171
157
  rubyforge_project:
172
- rubygems_version: 2.6.13
158
+ rubygems_version: 2.7.3
173
159
  signing_key:
174
160
  specification_version: 4
175
161
  summary: Parse with Ripper, produce sexps that are compatible with RubyParser.
176
162
  test_files:
177
163
  - test/end_to_end/comments_test.rb
178
164
  - test/end_to_end/comparison_test.rb
179
- - test/end_to_end/error_conditions_test.rb
180
165
  - test/end_to_end/lib_comparison_test.rb
181
166
  - test/end_to_end/line_numbering_test.rb
182
167
  - test/end_to_end/samples_comparison_test.rb
183
168
  - test/end_to_end/test_comparison_test.rb
184
169
  - test/pt_testcase/pt_test.rb
170
+ - test/ripper_ruby_parser/commenting_ripper_parser_test.rb
171
+ - test/ripper_ruby_parser/parser_test.rb
172
+ - test/ripper_ruby_parser/sexp_handlers/assignment_test.rb
173
+ - test/ripper_ruby_parser/sexp_handlers/blocks_test.rb
174
+ - test/ripper_ruby_parser/sexp_handlers/conditionals_test.rb
175
+ - test/ripper_ruby_parser/sexp_handlers/literals_test.rb
176
+ - test/ripper_ruby_parser/sexp_handlers/loops_test.rb
177
+ - test/ripper_ruby_parser/sexp_handlers/method_calls_test.rb
178
+ - test/ripper_ruby_parser/sexp_handlers/operators_test.rb
179
+ - test/ripper_ruby_parser/sexp_processor_test.rb
180
+ - test/ripper_ruby_parser/version_test.rb
185
181
  - test/samples/inline.rb
182
+ - test/samples/misc.rb
186
183
  - test/test_helper.rb
187
- - test/unit/commenting_ripper_parser_test.rb
188
- - test/unit/parser_assignment_test.rb
189
- - test/unit/parser_blocks_test.rb
190
- - test/unit/parser_conditionals_test.rb
191
- - test/unit/parser_literals_test.rb
192
- - test/unit/parser_loops_test.rb
193
- - test/unit/parser_method_calls_test.rb
194
- - test/unit/parser_operators_test.rb
195
- - test/unit/parser_test.rb
196
- - test/unit/sexp_processor_test.rb
197
- - test/unit/version_test.rb
@@ -1,51 +0,0 @@
1
- require File.expand_path('../test_helper.rb', File.dirname(__FILE__))
2
-
3
- describe 'Handling errors' do
4
- describe 'RipperRubyParser::Parser#parse' do
5
- let :newparser do
6
- RipperRubyParser::Parser.new
7
- end
8
-
9
- it 'raises an error for an incomplete source' do
10
- proc {
11
- newparser.parse 'def foo'
12
- }.must_raise RipperRubyParser::SyntaxError
13
- end
14
-
15
- it 'raises an error for an invalid class name' do
16
- proc {
17
- newparser.parse('class foo; end')
18
- }.must_raise RipperRubyParser::SyntaxError
19
- end
20
-
21
- it 'raises an error aliasing $1 as foo' do
22
- proc {
23
- newparser.parse 'alias foo $1'
24
- }.must_raise RipperRubyParser::SyntaxError
25
- end
26
-
27
- it 'raises an error aliasing foo as $1' do
28
- proc {
29
- newparser.parse 'alias $1 foo'
30
- }.must_raise RipperRubyParser::SyntaxError
31
- end
32
-
33
- it 'raises an error aliasing $2 as $1' do
34
- proc {
35
- newparser.parse 'alias $1 $2'
36
- }.must_raise RipperRubyParser::SyntaxError
37
- end
38
-
39
- it 'raises an error assigning to $1' do
40
- proc {
41
- newparser.parse '$1 = foo'
42
- }.must_raise RipperRubyParser::SyntaxError
43
- end
44
-
45
- it 'raises an error using an invalid parameter name' do
46
- proc {
47
- newparser.parse 'def foo(BAR); end'
48
- }.must_raise RipperRubyParser::SyntaxError
49
- end
50
- end
51
- end