diff options
author | aycabta <aycabta@gmail.com> | 2021-03-26 22:46:40 +0900 |
---|---|---|
committer | aycabta <aycabta@gmail.com> | 2021-04-03 01:17:08 +0900 |
commit | ab89c45b906380353d1b399781170cafe1d7b503 (patch) | |
tree | de096764a3426fdb74b1c60e38578aa948e05f44 /test/irb/yamatanooroti | |
parent | 254cd937c240281b4283bacb61b944eb52120ba5 (diff) | |
download | ruby-ab89c45b906380353d1b399781170cafe1d7b503.tar.gz |
[ruby/irb] Evaluate each toplevel statement
https://github.com/ruby/irb/commit/bc1b1d8bc3
Diffstat (limited to 'test/irb/yamatanooroti')
-rw-r--r-- | test/irb/yamatanooroti/test_rendering.rb | 96 |
1 files changed, 86 insertions, 10 deletions
diff --git a/test/irb/yamatanooroti/test_rendering.rb b/test/irb/yamatanooroti/test_rendering.rb index 171bfeaff5..8f55b38a93 100644 --- a/test/irb/yamatanooroti/test_rendering.rb +++ b/test/irb/yamatanooroti/test_rendering.rb @@ -49,6 +49,7 @@ begin start_terminal(25, 80, %W{ruby -I#{@pwd}/lib -I#{@pwd}/../reline/lib #{@pwd}/exe/irb}, startup_message: 'start IRB') write(<<~EOC) class A + def inspect; '#<A>'; end def a; self; end def b; true; end end @@ -63,17 +64,92 @@ begin assert_screen(<<~EOC) start IRB irb(main):001:1* class A - irb(main):002:1* def a; self; end - irb(main):003:1* def b; true; end - irb(main):004:0> end - irb(main):005:0* - irb(main):006:0> a = A.new - irb(main):007:0* - irb(main):008:0> a - irb(main):009:0> .a - irb(main):010:0> .b + irb(main):002:1* def inspect; '#<A>'; end + irb(main):003:1* def a; self; end + irb(main):004:1* def b; true; end + irb(main):005:0> end + => :b + irb(main):006:0> + irb(main):007:0> a = A.new + => #<A> + irb(main):008:0> + irb(main):009:0> a + irb(main):010:0> .a + irb(main):011:0> .b => true - irb(main):011:0> + irb(main):012:0> + EOC + end + + def test_evaluate_each_toplevel_statement_by_multiline_paste + write_irbrc <<~'LINES' + puts 'start IRB' + LINES + start_terminal(40, 80, %W{ruby -I#{@pwd}/lib -I#{@pwd}/../reline/lib #{@pwd}/exe/irb}, startup_message: 'start IRB') + write(<<~EOC) + class A + def inspect; '#<A>'; end + def b; self; end + def c; true; end + end + + a = A.new + + a + .b + # aaa + .c + + (a) + &.b() + + + class A def b; self; end; def c; true; end; end; + a = A.new + a + .b + # aaa + .c + (a) + &.b() + EOC + close + assert_screen(<<~EOC) + start IRB + irb(main):001:1* class A + irb(main):002:1* def inspect; '#<A>'; end + irb(main):003:1* def b; self; end + irb(main):004:1* def c; true; end + irb(main):005:0> end + => :c + irb(main):006:0> + irb(main):007:0> a = A.new + => #<A> + irb(main):008:0> + irb(main):009:0> a + irb(main):010:0> .b + irb(main):011:0> # aaa + irb(main):012:0> .c + => true + irb(main):013:0> + irb(main):014:0> (a) + irb(main):015:0> &.b() + => #<A> + irb(main):016:0> + irb(main):017:0> + irb(main):018:0> class A def b; self; end; def c; true; end; end; + => :c + irb(main):019:0> a = A.new + => #<A> + irb(main):020:0> a + irb(main):021:0> .b + irb(main):022:0> # aaa + irb(main):023:0> .c + => true + irb(main):024:0> (a) + irb(main):025:0> &.b() + => #<A> + irb(main):026:0> EOC end |