1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/rexml/test_text.rb
kou 766f9b4aff Really ensure loading REXML in tests
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20 04:03:10 +00:00

75 lines
2 KiB
Ruby

# frozen_string_literal: false
require_relative "rexml_test_utils"
module REXMLTests
class TextTester < Test::Unit::TestCase
include REXML
def test_new_text_response_whitespace_default
text = Text.new("a b\t\tc", true)
assert_equal("a b\tc", Text.new(text).to_s)
end
def test_new_text_response_whitespace_true
text = Text.new("a b\t\tc", true)
assert_equal("a b\t\tc", Text.new(text, true).to_s)
end
def test_new_text_raw_default
text = Text.new("&amp;lt;", false, nil, true)
assert_equal("&amp;lt;", Text.new(text).to_s)
end
def test_new_text_raw_false
text = Text.new("&amp;lt;", false, nil, true)
assert_equal("&amp;amp;lt;", Text.new(text, false, nil, false).to_s)
end
def test_new_text_entity_filter_default
document = REXML::Document.new(<<-XML)
<!DOCTYPE root [
<!ENTITY a "aaa">
<!ENTITY b "bbb">
]>
<root/>
XML
text = Text.new("aaa bbb", false, document.root, nil, ["a"])
assert_equal("aaa &b;",
Text.new(text, false, document.root).to_s)
end
def test_new_text_entity_filter_custom
document = REXML::Document.new(<<-XML)
<!DOCTYPE root [
<!ENTITY a "aaa">
<!ENTITY b "bbb">
]>
<root/>
XML
text = Text.new("aaa bbb", false, document.root, nil, ["a"])
assert_equal("&a; bbb",
Text.new(text, false, document.root, nil, ["b"]).to_s)
end
def test_shift_operator_chain
text = Text.new("original\r\n")
text << "append1\r\n" << "append2\r\n"
assert_equal("original\nappend1\nappend2\n", text.to_s)
end
def test_shift_operator_cache
text = Text.new("original\r\n")
text << "append1\r\n" << "append2\r\n"
assert_equal("original\nappend1\nappend2\n", text.to_s)
text << "append3\r\n" << "append4\r\n"
assert_equal("original\nappend1\nappend2\nappend3\nappend4\n", text.to_s)
end
def test_clone
text = Text.new("&amp;lt; <")
assert_equal(text.to_s,
text.clone.to_s)
end
end
end