[macruby-changes] [4724] DietRB/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Fri Oct 8 04:05:12 PDT 2010
Revision: 4724
http://trac.macosforge.org/projects/ruby/changeset/4724
Author: eloy.de.enige at gmail.com
Date: 2010-10-08 04:05:11 -0700 (Fri, 08 Oct 2010)
Log Message:
-----------
Add specs for irb/io/readline
From: Eloy Duran <eloy.de.enige at gmail.com>
Modified Paths:
--------------
DietRB/trunk/lib/irb/io/readline.rb
Added Paths:
-----------
DietRB/trunk/spec/io/
DietRB/trunk/spec/io/readline_spec.rb
Modified: DietRB/trunk/lib/irb/io/readline.rb
===================================================================
--- DietRB/trunk/lib/irb/io/readline.rb 2010-10-08 11:05:01 UTC (rev 4723)
+++ DietRB/trunk/lib/irb/io/readline.rb 2010-10-08 11:05:11 UTC (rev 4724)
@@ -3,6 +3,8 @@
module IRB
module IO
class Readline
+ attr_reader :input, :output
+
def initialize(input = $stdin, output = $stdout)
::Readline.input = @input = input
::Readline.output = @output = output
Added: DietRB/trunk/spec/io/readline_spec.rb
===================================================================
--- DietRB/trunk/spec/io/readline_spec.rb (rev 0)
+++ DietRB/trunk/spec/io/readline_spec.rb 2010-10-08 11:05:11 UTC (rev 4724)
@@ -0,0 +1,31 @@
+require File.expand_path('../../spec_helper', __FILE__)
+require 'tempfile'
+
+describe "IRB::IO::Readline" do
+ before do
+ @output = File.new("/tmp/dietrb-output-#{Time.now.to_i}", 'w+')
+ @io = IRB::IO::Readline.new($stdin, @output)
+ end
+
+ after do
+ @output.close
+ File.unlink(@output.path)
+ end
+
+ it "returns the input and output objects" do
+ @io.input.should == $stdin
+ @io.output.should == @output
+ end
+
+ it "receives a prompt and should save the history" do
+ def Readline.readline(prompt, save_history); @received = [prompt, save_history]; end
+ @io.readline('PROMPT')
+ Readline.instance_variable_get(:@received).should == ['PROMPT', true]
+ end
+
+ it "forwards #puts to the output object" do
+ @io.puts("chunky banana")
+ @output.rewind
+ @output.read.should == "chunky banana\n"
+ end
+end
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20101008/a5d7c5fe/attachment.html>
More information about the macruby-changes
mailing list