require "helper" module Nokogiri module XML class TestCDATA < Nokogiri::TestCase def setup super @xml = Nokogiri::XML.parse(File.read(XML_FILE), XML_FILE) end def test_cdata_node name = @xml.xpath('//employee[2]/name').first assert cdata = name.children[1] assert cdata.cdata? assert_equal '#cdata-section', cdata.name end def test_new node = CDATA.new(@xml, "foo") assert_equal "foo", node.content node = CDATA.new(@xml.root, "foo") assert_equal "foo", node.content end def test_new_with_nil node = CDATA.new(@xml, nil) assert_equal nil, node.content end def test_lots_of_new_cdata assert 100.times { CDATA.new(@xml, "asdfasdf") } end def test_content= node = CDATA.new(@xml, 'foo') assert_equal('foo', node.content) node.content = '& &' assert_equal('& &', node.content) assert_equal(' &]]>', node.to_xml) node.content = 'foo ]]> bar' assert_equal('foo ]]> bar', node.content) end end end end