mvz-live_ast 2.0.0 → 2.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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.rdoc +9 -0
  3. data/README.rdoc +14 -0
  4. data/lib/live_ast/base.rb +7 -9
  5. data/lib/live_ast/irb_spy.rb +1 -1
  6. data/lib/live_ast/replace_caller.rb +14 -0
  7. data/lib/live_ast/version.rb +1 -1
  8. metadata +85 -120
  9. data/Rakefile +0 -62
  10. data/devel/levitate.rb +0 -184
  11. data/devel/levitate_config.rb +0 -4
  12. data/test/alias_test.rb +0 -25
  13. data/test/ast_eval/ast_eval_test.rb +0 -13
  14. data/test/ast_load/ast_load_test.rb +0 -47
  15. data/test/attr_test.rb +0 -26
  16. data/test/backtrace_test.rb +0 -161
  17. data/test/base/noninvasive_test.rb +0 -55
  18. data/test/base/reload_test.rb +0 -43
  19. data/test/covert_define_method_test.rb +0 -25
  20. data/test/def_test.rb +0 -37
  21. data/test/define_method_test.rb +0 -69
  22. data/test/define_singleton_method_test.rb +0 -17
  23. data/test/encoding_test/bad.rb +0 -1
  24. data/test/encoding_test/cp932.rb +0 -6
  25. data/test/encoding_test/default.rb +0 -5
  26. data/test/encoding_test/eucjp.rb +0 -6
  27. data/test/encoding_test/koi8.rb +0 -6
  28. data/test/encoding_test/koi8_shebang.rb +0 -7
  29. data/test/encoding_test/koi8_with_utf8bom.rb +0 -6
  30. data/test/encoding_test/usascii.rb +0 -6
  31. data/test/encoding_test/usascii_with_utf8bom.rb +0 -6
  32. data/test/encoding_test/utf8.rb +0 -6
  33. data/test/encoding_test/utf8bom.rb +0 -6
  34. data/test/encoding_test/utf8bom_only.rb +0 -5
  35. data/test/encoding_test/utf8dos.rb +0 -6
  36. data/test/encoding_test/utf8mac.rb +0 -6
  37. data/test/encoding_test/utf8mac_alt.rb +0 -6
  38. data/test/encoding_test/utf8unix.rb +0 -6
  39. data/test/encoding_test.rb +0 -54
  40. data/test/error_test.rb +0 -118
  41. data/test/eval_test.rb +0 -271
  42. data/test/flush_cache_test.rb +0 -102
  43. data/test/full/ast_reload_test.rb +0 -41
  44. data/test/full/replace_eval_test.rb +0 -433
  45. data/test/irb_test.rb +0 -43
  46. data/test/lambda_test.rb +0 -65
  47. data/test/load_path_test.rb +0 -77
  48. data/test/load_test.rb +0 -125
  49. data/test/main.rb +0 -134
  50. data/test/nested_test.rb +0 -31
  51. data/test/readme_test.rb +0 -16
  52. data/test/recursive_eval_test.rb +0 -53
  53. data/test/redefine_method_test.rb +0 -85
  54. data/test/rubygems_test.rb +0 -27
  55. data/test/rubyspec_test.rb +0 -39
  56. data/test/singleton_test.rb +0 -27
  57. data/test/stdlib_test.rb +0 -15
  58. data/test/thread_test.rb +0 -45
  59. data/test/to_ast/to_ast_feature_test.rb +0 -13
  60. data/test/to_ruby/to_ruby_feature_test.rb +0 -13
  61. data/test/to_ruby/to_ruby_test.rb +0 -101
@@ -1,101 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "main"
4
-
5
- if LiveAST.parser::Test.respond_to?(:unparser_matches_ruby2ruby?) &&
6
- LiveAST.parser::Test.unparser_matches_ruby2ruby?
7
- class ToRubyTest < RegularTest
8
- def setup
9
- super
10
- require "live_ast/to_ruby"
11
- end
12
-
13
- def test_lambda_one
14
- src = %{lambda { "moo" }}
15
- dst = ast_eval(src, binding).to_ruby
16
- assert_equal src, dst
17
- end
18
-
19
- def test_lambda_two
20
- src = %{lambda { |x| (x ** 2) }}
21
- dst = ast_eval(src, binding).to_ruby
22
- assert_equal src, dst
23
- end
24
-
25
- def test_lambda_three
26
- src = %{lambda { |x, y| (x + y) }}
27
- dst = ast_eval(src, binding).to_ruby
28
- assert_equal src, dst
29
- end
30
-
31
- def test_proc_one
32
- src = %{proc { "moo" }}
33
- dst = ast_eval(src, binding).to_ruby
34
- assert_equal src, dst
35
- end
36
-
37
- def test_proc_two
38
- src = %{proc { |x| (x ** 2) }}
39
- dst = ast_eval(src, binding).to_ruby
40
- assert_equal src, dst
41
- end
42
-
43
- def test_proc_three
44
- src = %{proc { |x, y| (x * y) }}
45
- dst = ast_eval(src, binding).to_ruby
46
- assert_equal src, dst
47
- end
48
-
49
- def test_block_one
50
- src = %{return_block { "moo" }}
51
- dst = ast_eval(src, binding).to_ruby
52
- assert_equal src, dst
53
- end
54
-
55
- def test_block_two
56
- src = %{return_block { |x| (x ** 2) }}
57
- dst = ast_eval(src, binding).to_ruby
58
- assert_equal src, dst
59
- end
60
-
61
- def test_block_three
62
- src = %{return_block { |x, y| (x - y) }}
63
- dst = ast_eval(src, binding).to_ruby
64
- assert_equal src, dst
65
- end
66
-
67
- def test_method_one
68
- src = %{def f\n "moo"\nend}
69
- dst = Class.new do
70
- ast_eval(src, binding)
71
- end.instance_method(:f).to_ruby
72
- assert_equal src, dst
73
- end
74
-
75
- def test_method_two
76
- src = %{def f(x)\n (x ** 2)\nend}
77
- dst = Class.new do
78
- ast_eval(src, binding)
79
- end.instance_method(:f).to_ruby
80
- assert_equal src, dst
81
- end
82
-
83
- def test_method_three
84
- src = %{def f(x, y)\n (x / y)\nend}
85
- dst = Class.new do
86
- ast_eval(src, binding)
87
- end.instance_method(:f).to_ruby
88
- assert_equal src, dst
89
- end
90
-
91
- def test_to_ast_after_to_ruby
92
- src = %{lambda { "moo" }}
93
- expected_ast = ast_eval(src, binding).to_ast
94
-
95
- lmb = ast_eval(src, binding)
96
- lmb.to_ruby
97
-
98
- assert_equal expected_ast, lmb.to_ast
99
- end
100
- end
101
- end