mvz-live_ast 1.1.1 → 1.1.2

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.rdoc +14 -0
  3. data/Rakefile +48 -9
  4. data/devel/levitate.rb +5 -674
  5. data/lib/live_ast/common.rb +22 -21
  6. data/lib/live_ast/error.rb +2 -2
  7. data/lib/live_ast/irb_spy.rb +4 -6
  8. data/lib/live_ast/linker.rb +7 -7
  9. data/lib/live_ast/loader.rb +6 -6
  10. data/lib/live_ast/reader.rb +2 -2
  11. data/lib/live_ast/replace_eval.rb +27 -31
  12. data/lib/live_ast/replace_load.rb +1 -1
  13. data/lib/live_ast/ruby_parser.rb +24 -22
  14. data/lib/live_ast/ruby_parser/test.rb +183 -179
  15. data/lib/live_ast/ruby_parser/unparser.rb +10 -6
  16. data/lib/live_ast/to_ast.rb +1 -1
  17. data/lib/live_ast/version.rb +1 -1
  18. data/test/ast_eval/ast_eval_test.rb +11 -0
  19. data/test/ast_load/ast_load_test.rb +45 -0
  20. data/test/backtrace_test.rb +29 -28
  21. data/test/{noninvasive_test.rb → base/noninvasive_test.rb} +7 -5
  22. data/test/base/reload_test.rb +41 -0
  23. data/test/covert_define_method_test.rb +1 -1
  24. data/test/define_method_test.rb +5 -5
  25. data/test/encoding_test.rb +5 -5
  26. data/test/error_test.rb +6 -6
  27. data/test/eval_test.rb +7 -7
  28. data/test/flush_cache_test.rb +6 -6
  29. data/test/full/ast_reload_test.rb +39 -0
  30. data/test/{replace_eval_test.rb → full/replace_eval_test.rb} +31 -12
  31. data/test/irb_test.rb +1 -1
  32. data/test/lambda_test.rb +7 -0
  33. data/test/load_path_test.rb +12 -12
  34. data/test/load_test.rb +35 -35
  35. data/test/main.rb +19 -27
  36. data/test/nested_test.rb +1 -1
  37. data/test/readme_test.rb +1 -3
  38. data/test/recursive_eval_test.rb +2 -3
  39. data/test/redefine_method_test.rb +2 -2
  40. data/test/rubygems_test.rb +1 -1
  41. data/test/rubyspec_test.rb +3 -3
  42. data/test/stdlib_test.rb +1 -1
  43. data/test/thread_test.rb +1 -2
  44. data/test/to_ast/to_ast_feature_test.rb +11 -0
  45. data/test/to_ruby/to_ruby_feature_test.rb +11 -0
  46. data/test/{to_ruby_test.rb → to_ruby/to_ruby_test.rb} +2 -2
  47. metadata +93 -91
  48. data/test/ast_eval_feature_test.rb +0 -11
  49. data/test/ast_load_feature_test.rb +0 -11
  50. data/test/reload_test.rb +0 -105
  51. data/test/to_ast_feature_test.rb +0 -15
  52. data/test/to_ruby_feature_test.rb +0 -15
data/test/nested_test.rb CHANGED
@@ -7,7 +7,7 @@ class NestedTest < RegularTest
7
7
  "33"
8
8
  }
9
9
  }
10
-
10
+
11
11
  assert_equal nested_lambdas("33"), a.to_ast
12
12
  assert_equal no_arg_block(:lambda, "33"), a.call.to_ast
13
13
  end
data/test/readme_test.rb CHANGED
@@ -1,9 +1,7 @@
1
1
  require_relative 'main'
2
2
  require_relative '../devel/levitate'
3
3
 
4
- if LiveAST.parser::Test.respond_to?(:unified_sexp?) and
5
- LiveAST.parser::Test.unified_sexp? and
6
- RUBY_ENGINE != "jruby" then # jruby takes about a minute
4
+ if RUBY_ENGINE != "jruby" # jruby takes about a minute
7
5
  sections = [
8
6
  "Synopsis",
9
7
  "+to_ruby+",
@@ -9,7 +9,7 @@ class RecursiveEvalTest < RegularTest
9
9
  "A#f"
10
10
  end
11
11
  }, binding
12
-
12
+
13
13
  ast_eval %{
14
14
  ast_eval %{
15
15
  remove_method :f
@@ -21,7 +21,7 @@ class RecursiveEvalTest < RegularTest
21
21
  "A#g"
22
22
  end
23
23
  }, binding
24
-
24
+
25
25
  LAMBDA = ast_eval %{
26
26
  lambda { |x, y| x * y }
27
27
  }, binding
@@ -49,4 +49,3 @@ class RecursiveEvalTest < RegularTest
49
49
  A::LAMBDA.to_ast
50
50
  end
51
51
  end
52
-
@@ -6,10 +6,10 @@ class RedefineMethodTest < RegularTest
6
6
  def f
7
7
  "old A#f"
8
8
  end
9
-
9
+
10
10
  PREVIOUS_Af = instance_method(:f)
11
11
  remove_method :f
12
-
12
+
13
13
  def f(x, y)
14
14
  x * y
15
15
  end
@@ -5,7 +5,7 @@ class RubygemsTest < RegularTest
5
5
  def test_rubygems
6
6
  lib = File.expand_path(File.dirname(__FILE__) + "/../lib")
7
7
  extra_req =
8
- if defined?(LiveASTRipper) and LiveAST.parser == LiveASTRipper
8
+ if defined?(LiveASTRipper) && LiveAST.parser == LiveASTRipper
9
9
  %{require 'live_ast_ripper'}
10
10
  else
11
11
  ""
@@ -4,7 +4,7 @@ require_relative '../devel/levitate'
4
4
  #
5
5
  # Tests against rubyspec branch which discards '|ast@' tokens
6
6
  #
7
- class ZZZ_RubySpecTest < RegularTest
7
+ class RubySpecTest < RegularTest
8
8
  FILES = [
9
9
  'core/basicobject/instance_eval_spec.rb',
10
10
  'core/binding/eval_spec.rb',
@@ -13,7 +13,7 @@ class ZZZ_RubySpecTest < RegularTest
13
13
  'core/module/class_eval_spec.rb',
14
14
  'core/module/module_eval_spec.rb',
15
15
  ]
16
-
16
+
17
17
  def setup
18
18
  super
19
19
  puts "\n==== rubyspec"
@@ -26,7 +26,7 @@ class ZZZ_RubySpecTest < RegularTest
26
26
  cmd =
27
27
  ["mspec", "-t", Levitate.ruby_bin] +
28
28
 
29
- (["-T"]*Levitate.ruby_opts.size).
29
+ (["-T"] * Levitate.ruby_opts.size).
30
30
  zip(Levitate.ruby_opts).
31
31
  flatten +
32
32
 
data/test/stdlib_test.rb CHANGED
@@ -5,7 +5,7 @@ class StdlibTest < RegularTest
5
5
  def test_pp
6
6
  assert_not_nil method(:pp).to_ast
7
7
  end
8
-
8
+
9
9
  def test_find
10
10
  assert_not_nil Find.method(:find).to_ast
11
11
  end
data/test/thread_test.rb CHANGED
@@ -3,7 +3,6 @@ require_relative 'main'
3
3
  require 'thread'
4
4
 
5
5
  class ThreadTest < RegularTest
6
-
7
6
  def test_threads
8
7
  klass = nil
9
8
  mutex = Mutex.new
@@ -35,7 +34,7 @@ class ThreadTest < RegularTest
35
34
  stop = true
36
35
 
37
36
  workers.each { |t| t.join }
38
-
37
+
39
38
  assert_equal num_threads, results.size
40
39
  results.each { |result|
41
40
  assert_equal no_arg_def(:f, "anon#f"), result
@@ -0,0 +1,11 @@
1
+ require 'main'
2
+
3
+ require 'live_ast/to_ast'
4
+
5
+ class ToASTFeatureTest < BaseTest
6
+ def test_require
7
+ [Method, UnboundMethod, Proc].each { |obj|
8
+ assert obj.instance_methods.include?(:to_ast)
9
+ }
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ require 'main'
2
+
3
+ require 'live_ast/to_ruby'
4
+
5
+ class ToRubyFeatureTest < BaseTest
6
+ def test_defines_to_ruby
7
+ [Method, UnboundMethod, Proc].each { |obj|
8
+ assert obj.instance_methods.include?(:to_ruby)
9
+ }
10
+ end
11
+ end
@@ -1,6 +1,6 @@
1
- require_relative 'main'
1
+ require 'main'
2
2
 
3
- class AAC_ToRubyTest < RegularTest
3
+ class ToRubyTest < RegularTest
4
4
  def setup
5
5
  super
6
6
  require 'live_ast/to_ruby'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mvz-live_ast
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James M. Lawrence
@@ -9,104 +9,104 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-02-11 00:00:00.000000000 Z
12
+ date: 2014-10-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ruby_parser
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 3.3.0
20
+ version: '3.3'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 3.3.0
27
+ version: '3.3'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: ruby2ruby
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: binding_of_caller
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: bundler
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ~>
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '1.3'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ~>
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '1.3'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: minitest
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ~>
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '4.0'
76
+ version: '5.0'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ~>
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '4.0'
83
+ version: '5.0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: rake
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - '>='
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
90
  version: '0'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - '>='
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rdoc
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  description: |2
@@ -119,134 +119,134 @@ extra_rdoc_files:
119
119
  - README.rdoc
120
120
  - CHANGES.rdoc
121
121
  files:
122
- - devel/levitate_config.rb
122
+ - CHANGES.rdoc
123
+ - README.rdoc
124
+ - Rakefile
123
125
  - devel/levitate.rb
124
- - lib/live_ast/full.rb
125
- - lib/live_ast/common.rb
126
- - lib/live_ast/loader.rb
126
+ - devel/levitate_config.rb
127
+ - lib/live_ast.rb
127
128
  - lib/live_ast/ast_eval.rb
128
- - lib/live_ast/to_ruby.rb
129
- - lib/live_ast/base.rb
130
- - lib/live_ast/evaler.rb
131
129
  - lib/live_ast/ast_load.rb
132
- - lib/live_ast/replace_eval.rb
130
+ - lib/live_ast/base.rb
131
+ - lib/live_ast/common.rb
133
132
  - lib/live_ast/error.rb
134
- - lib/live_ast/ruby_parser.rb
135
- - lib/live_ast/to_ast.rb
136
- - lib/live_ast/ruby_parser/unparser.rb
137
- - lib/live_ast/ruby_parser/test.rb
138
- - lib/live_ast/replace_raise.rb
133
+ - lib/live_ast/evaler.rb
134
+ - lib/live_ast/full.rb
139
135
  - lib/live_ast/irb_spy.rb
140
- - lib/live_ast/version.rb
141
136
  - lib/live_ast/linker.rb
137
+ - lib/live_ast/loader.rb
142
138
  - lib/live_ast/reader.rb
139
+ - lib/live_ast/replace_eval.rb
143
140
  - lib/live_ast/replace_load.rb
144
- - lib/live_ast.rb
141
+ - lib/live_ast/replace_raise.rb
142
+ - lib/live_ast/ruby_parser.rb
143
+ - lib/live_ast/ruby_parser/test.rb
144
+ - lib/live_ast/ruby_parser/unparser.rb
145
+ - lib/live_ast/to_ast.rb
146
+ - lib/live_ast/to_ruby.rb
147
+ - lib/live_ast/version.rb
148
+ - test/ast_eval/ast_eval_test.rb
149
+ - test/ast_load/ast_load_test.rb
150
+ - test/attr_test.rb
151
+ - test/backtrace_test.rb
152
+ - test/base/noninvasive_test.rb
153
+ - test/base/reload_test.rb
145
154
  - test/covert_define_method_test.rb
146
- - test/noninvasive_test.rb
147
- - test/singleton_test.rb
148
- - test/irb_test.rb
149
- - test/stdlib_test.rb
150
- - test/rubygems_test.rb
151
- - test/to_ruby_test.rb
152
- - test/to_ast_feature_test.rb
153
- - test/flush_cache_test.rb
154
- - test/to_ruby_feature_test.rb
155
- - test/eval_test.rb
156
- - test/readme_test.rb
157
155
  - test/def_test.rb
158
- - test/replace_eval_test.rb
159
- - test/attr_test.rb
160
- - test/thread_test.rb
161
- - test/reload_test.rb
162
- - test/load_path_test.rb
163
- - test/rubyspec_test.rb
164
- - test/redefine_method_test.rb
165
- - test/ast_load_feature_test.rb
166
- - test/lambda_test.rb
167
- - test/ast_eval_feature_test.rb
168
- - test/error_test.rb
169
- - test/recursive_eval_test.rb
156
+ - test/define_method_test.rb
170
157
  - test/define_singleton_method_test.rb
171
- - test/encoding_test/utf8bom_only.rb
172
- - test/encoding_test/utf8unix.rb
173
- - test/encoding_test/eucjp.rb
174
- - test/encoding_test/usascii_with_utf8bom.rb
175
- - test/encoding_test/utf8bom.rb
176
- - test/encoding_test/utf8mac_alt.rb
177
- - test/encoding_test/default.rb
178
- - test/encoding_test/usascii.rb
158
+ - test/encoding_test.rb
159
+ - test/encoding_test/bad.rb
179
160
  - test/encoding_test/cp932.rb
161
+ - test/encoding_test/default.rb
162
+ - test/encoding_test/eucjp.rb
163
+ - test/encoding_test/koi8.rb
180
164
  - test/encoding_test/koi8_shebang.rb
181
- - test/encoding_test/utf8.rb
182
- - test/encoding_test/bad.rb
183
- - test/encoding_test/utf8mac.rb
184
165
  - test/encoding_test/koi8_with_utf8bom.rb
166
+ - test/encoding_test/usascii.rb
167
+ - test/encoding_test/usascii_with_utf8bom.rb
168
+ - test/encoding_test/utf8.rb
169
+ - test/encoding_test/utf8bom.rb
170
+ - test/encoding_test/utf8bom_only.rb
185
171
  - test/encoding_test/utf8dos.rb
186
- - test/encoding_test/koi8.rb
172
+ - test/encoding_test/utf8mac.rb
173
+ - test/encoding_test/utf8mac_alt.rb
174
+ - test/encoding_test/utf8unix.rb
175
+ - test/error_test.rb
176
+ - test/eval_test.rb
177
+ - test/flush_cache_test.rb
178
+ - test/full/ast_reload_test.rb
179
+ - test/full/replace_eval_test.rb
180
+ - test/irb_test.rb
181
+ - test/lambda_test.rb
182
+ - test/load_path_test.rb
187
183
  - test/load_test.rb
188
- - test/nested_test.rb
189
184
  - test/main.rb
190
- - test/define_method_test.rb
191
- - test/backtrace_test.rb
192
- - test/encoding_test.rb
193
- - README.rdoc
194
- - CHANGES.rdoc
195
- - Rakefile
185
+ - test/nested_test.rb
186
+ - test/readme_test.rb
187
+ - test/recursive_eval_test.rb
188
+ - test/redefine_method_test.rb
189
+ - test/rubygems_test.rb
190
+ - test/rubyspec_test.rb
191
+ - test/singleton_test.rb
192
+ - test/stdlib_test.rb
193
+ - test/thread_test.rb
194
+ - test/to_ast/to_ast_feature_test.rb
195
+ - test/to_ruby/to_ruby_feature_test.rb
196
+ - test/to_ruby/to_ruby_test.rb
196
197
  homepage: https://github.com/mvz/live_ast
197
198
  licenses:
198
199
  - MIT
199
200
  metadata: {}
200
201
  post_install_message:
201
202
  rdoc_options:
202
- - --main
203
+ - "--main"
203
204
  - README.rdoc
204
- - --title
205
+ - "--title"
205
206
  - 'LiveAST: Live Abstract Syntax Trees'
206
- - --visibility
207
+ - "--visibility"
207
208
  - private
208
209
  require_paths:
209
210
  - lib
210
211
  required_ruby_version: !ruby/object:Gem::Requirement
211
212
  requirements:
212
- - - '>='
213
+ - - ">="
213
214
  - !ruby/object:Gem::Version
214
215
  version: 1.9.2
215
216
  required_rubygems_version: !ruby/object:Gem::Requirement
216
217
  requirements:
217
- - - '>='
218
+ - - ">="
218
219
  - !ruby/object:Gem::Version
219
220
  version: '0'
220
221
  requirements: []
221
222
  rubyforge_project:
222
- rubygems_version: 2.0.14
223
+ rubygems_version: 2.4.1
223
224
  signing_key:
224
225
  specification_version: 4
225
226
  summary: Live abstract syntax trees of methods and procs.
226
227
  test_files:
227
228
  - test/covert_define_method_test.rb
228
- - test/noninvasive_test.rb
229
229
  - test/singleton_test.rb
230
+ - test/to_ast/to_ast_feature_test.rb
230
231
  - test/irb_test.rb
231
232
  - test/stdlib_test.rb
232
233
  - test/rubygems_test.rb
233
- - test/to_ruby_test.rb
234
- - test/to_ast_feature_test.rb
234
+ - test/full/replace_eval_test.rb
235
+ - test/full/ast_reload_test.rb
236
+ - test/to_ruby/to_ruby_test.rb
237
+ - test/to_ruby/to_ruby_feature_test.rb
235
238
  - test/flush_cache_test.rb
236
- - test/to_ruby_feature_test.rb
237
239
  - test/eval_test.rb
240
+ - test/ast_eval/ast_eval_test.rb
238
241
  - test/readme_test.rb
239
242
  - test/def_test.rb
240
- - test/replace_eval_test.rb
241
243
  - test/attr_test.rb
242
244
  - test/thread_test.rb
243
- - test/reload_test.rb
244
245
  - test/load_path_test.rb
246
+ - test/ast_load/ast_load_test.rb
245
247
  - test/rubyspec_test.rb
246
248
  - test/redefine_method_test.rb
247
- - test/ast_load_feature_test.rb
248
249
  - test/lambda_test.rb
249
- - test/ast_eval_feature_test.rb
250
250
  - test/error_test.rb
251
251
  - test/recursive_eval_test.rb
252
252
  - test/define_singleton_method_test.rb
@@ -271,4 +271,6 @@ test_files:
271
271
  - test/main.rb
272
272
  - test/define_method_test.rb
273
273
  - test/backtrace_test.rb
274
+ - test/base/noninvasive_test.rb
275
+ - test/base/reload_test.rb
274
276
  - test/encoding_test.rb