summaryrefslogtreecommitdiff
path: root/spec/ruby/library/rexml/element/text_spec.rb
blob: 3234bba1538c85fc05c53d5b28964714c1b8740f (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
37
38
39
40
41
42
43
44
45
46
47
48
49
require_relative '../../../spec_helper'

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

  describe "REXML::Element#text" do
    before :each do
      @e = REXML::Element.new "name"
      @e.text = "John"
    end

    it "returns the text node of element" do
      @e.text.should == "John"
    end

    it "returns the text node value" do
      t = REXML::Text.new "Joe"
      @e.text = t
      @e.text.should == "Joe"
      @e.text.should_not == t
    end

    it "returns nil if no text is attached" do
      elem = REXML::Element.new "name"
      elem.text.should == nil
    end
  end

  describe "REXML::Element#text=" do
    before :each do
      @e = REXML::Element.new "name"
      @e.text = "John"
    end

    it "sets the text node" do
      @e.to_s.should == "<name>John</name>"
    end

    it "replaces existing text" do
      @e.text = "Joe"
      @e.to_s.should == "<name>Joe</name>"
    end

    it "receives nil as an argument" do
      @e.text = nil
      @e.to_s.should == "<name/>"
    end
  end
end