[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