summaryrefslogtreecommitdiff
path: root/spec/ruby/library/rexml/text/write_with_substitution_spec.rb
blob: 840f141e3d84a2a83360656483ecebf73e30cb7f (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
30
31
32
33
34
35
36
require_relative '../../../spec_helper'

ruby_version_is ''...'3.0' do
  require 'rexml/document'

  describe "REXML::Text#write_with_substitution" do
    before :each do
      @t = REXML::Text.new("test")
      @f = tmp("rexml_spec")
      @file = File.open(@f, "w+")
    end

    after :each do
      @file.close
      rm_r @f
    end

    it "writes out the input to a String" do
      s = ""
      @t.write_with_substitution(s, "some text")
      s.should == "some text"
    end

    it "writes out the input to an IO" do
      @t.write_with_substitution(@file, "some text")
      @file.rewind
      @file.gets.should == "some text"
    end

    it "escapes characters" do
      @t.write_with_substitution(@file, "& < >")
      @file.rewind
      @file.gets.should == "&amp; &lt; &gt;"
    end
  end
end