summaryrefslogtreecommitdiff
path: root/spec/ruby/library/cgi/print_spec.rb
blob: f4f461c5c0a6fd9130af74d6c4d35d2468ad4eee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require_relative '../../spec_helper'

ruby_version_is ""..."4.0" do
  require 'cgi'

  describe "CGI#print" do
    before :each do
      ENV['REQUEST_METHOD'], @old_request_method = "GET", ENV['REQUEST_METHOD']
      @cgi = CGI.new
    end

    after :each do
      ENV['REQUEST_METHOD'] = @old_request_method
    end

    it "passes all arguments to $stdout.print" do
      $stdout.should_receive(:print).with("test")
      @cgi.print("test")

      $stdout.should_receive(:print).with("one", "two", "three", ["four", "five"])
      @cgi.print("one", "two", "three", ["four", "five"])
    end

    it "returns the result of calling $stdout.print" do
      $stdout.should_receive(:print).with("test").and_return(:expected)
      @cgi.print("test").should == :expected
    end
  end
end