summaryrefslogtreecommitdiff
path: root/spec/ruby/core/binding/irb_spec.rb
blob: bd37b419f99fb0c0dd82261821ed64220df4eb37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require_relative '../../spec_helper'

ruby_version_is "2.5" do
  describe "Binding#irb" do
    it "creates an IRB session with the binding in scope" do
      irb_fixture = fixture __FILE__, "irb.rb"
      irbrc_fixture = fixture __FILE__, "irbrc"

      out = IO.popen([{"IRBRC"=>irbrc_fixture}, *ruby_exe, irb_fixture], "r+") do |pipe|
        pipe.puts "a ** 2"
        pipe.puts "exit"
        pipe.readlines.map(&:chomp)
      end

      out[-3..-1].should == ["a ** 2", "100", "exit"]
    end
  end
end