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

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