summaryrefslogtreecommitdiff
path: root/test/rexml/test_stream.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rexml/test_stream.rb')
-rw-r--r--test/rexml/test_stream.rb194
1 files changed, 97 insertions, 97 deletions
diff --git a/test/rexml/test_stream.rb b/test/rexml/test_stream.rb
index d9e622f..3164d91 100644
--- a/test/rexml/test_stream.rb
+++ b/test/rexml/test_stream.rb
@@ -4,126 +4,126 @@ require 'rexml/streamlistener'
require 'stringio'
module REXMLTests
-class MyListener
- include REXML::StreamListener
-end
+ class MyListener
+ include REXML::StreamListener
+ end
-class StreamTester < Test::Unit::TestCase
- # Submitted by Han Holl
- def test_listener
- data = %Q{<session1 user="han" password="rootWeiler" />\n<session2 user="han" password="rootWeiler" />}
+ class StreamTester < Test::Unit::TestCase
+ # Submitted by Han Holl
+ def test_listener
+ data = %Q{<session1 user="han" password="rootWeiler" />\n<session2 user="han" password="rootWeiler" />}
- b = RequestReader.new( data )
- b = RequestReader.new( data )
- end
+ b = RequestReader.new( data )
+ b = RequestReader.new( data )
+ end
- def test_ticket_49
- source = StringIO.new( <<-EOL )
- <!DOCTYPE foo [
- <!ENTITY ent "replace">
- ]>
- <a>&ent;</a>
- EOL
- REXML::Document.parse_stream(source, MyListener.new)
- end
+ def test_ticket_49
+ source = StringIO.new( <<-EOL )
+ <!DOCTYPE foo [
+ <!ENTITY ent "replace">
+ ]>
+ <a>&ent;</a>
+ EOL
+ REXML::Document.parse_stream(source, MyListener.new)
+ end
- def test_ticket_10
- source = StringIO.new( <<-EOL )
- <!DOCTYPE foo [
- <!ENTITY ent "replace">
- <!ATTLIST a
- xmlns:human CDATA #FIXED "http://www.foo.com/human">
- <!ELEMENT bar (#PCDATA)>
- <!NOTATION n1 PUBLIC "-//HM//NOTATION TEST1//EN" 'urn:x-henrikmartensson.org:test5'>
- ]>
- <a/>
- EOL
- listener = MyListener.new
- class << listener
- attr_accessor :events
- def entitydecl( content )
- @events[ :entitydecl ] = true
- end
- def attlistdecl( element_name, attributes, raw_content )
- @events[ :attlistdecl ] = true
- end
- def elementdecl( content )
- @events[ :elementdecl ] = true
+ def test_ticket_10
+ source = StringIO.new( <<-EOL )
+ <!DOCTYPE foo [
+ <!ENTITY ent "replace">
+ <!ATTLIST a
+ xmlns:human CDATA #FIXED "http://www.foo.com/human">
+ <!ELEMENT bar (#PCDATA)>
+ <!NOTATION n1 PUBLIC "-//HM//NOTATION TEST1//EN" 'urn:x-henrikmartensson.org:test5'>
+ ]>
+ <a/>
+ EOL
+ listener = MyListener.new
+ class << listener
+ attr_accessor :events
+ def entitydecl( content )
+ @events[ :entitydecl ] = true
+ end
+ def attlistdecl( element_name, attributes, raw_content )
+ @events[ :attlistdecl ] = true
+ end
+ def elementdecl( content )
+ @events[ :elementdecl ] = true
+ end
+ def notationdecl( content )
+ @events[ :notationdecl ] = true
+ end
end
- def notationdecl( content )
- @events[ :notationdecl ] = true
- end
- end
- listener.events = {}
+ listener.events = {}
- REXML::Document.parse_stream( source, listener )
+ REXML::Document.parse_stream( source, listener )
- assert( listener.events[:entitydecl] )
- assert( listener.events[:attlistdecl] )
- assert( listener.events[:elementdecl] )
- assert( listener.events[:notationdecl] )
- end
+ assert( listener.events[:entitydecl] )
+ assert( listener.events[:attlistdecl] )
+ assert( listener.events[:elementdecl] )
+ assert( listener.events[:notationdecl] )
+ end
- def test_entity
- listener = MyListener.new
- class << listener
- attr_accessor :entities
- def entity(content)
- @entities << content
+ def test_entity
+ listener = MyListener.new
+ class << listener
+ attr_accessor :entities
+ def entity(content)
+ @entities << content
+ end
end
- end
- listener.entities = []
+ listener.entities = []
- source = StringIO.new(<<-XML)
+ source = StringIO.new(<<-XML)
<!DOCTYPE root [
<!ENTITY % ISOLat2
SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
%ISOLat2;
]>
<root/>
- XML
- REXML::Document.parse_stream(source, listener)
+ XML
+ REXML::Document.parse_stream(source, listener)
- assert_equal(["ISOLat2"], listener.entities)
+ assert_equal(["ISOLat2"], listener.entities)
+ end
end
-end
-# For test_listener
-class RequestReader
- attr_reader :doc
- def initialize(io)
- @stack = []
- @doc = nil
- catch(:fini) do
- REXML::Document.parse_stream(io, self)
- raise IOError
+ # For test_listener
+ class RequestReader
+ attr_reader :doc
+ def initialize(io)
+ @stack = []
+ @doc = nil
+ catch(:fini) do
+ REXML::Document.parse_stream(io, self)
+ raise IOError
+ end
end
- end
- def tag_start(name, args)
- if @doc
- @stack.push(REXML::Element.new(name, @stack.last))
- else
- @doc = REXML::Document.new("<#{name}/>")
- @stack.push(@doc.root)
+ def tag_start(name, args)
+ if @doc
+ @stack.push(REXML::Element.new(name, @stack.last))
+ else
+ @doc = REXML::Document.new("<#{name}/>")
+ @stack.push(@doc.root)
+ end
+ args.each do |attr,val|
+ @stack.last.add_attribute(attr, val)
+ end
end
- args.each do |attr,val|
- @stack.last.add_attribute(attr, val)
+ def tag_end(name, *args)
+ @stack.pop
+ throw(:fini) if @stack.empty?
+ end
+ def text(str)
+ @stack.last.text = str
+ end
+ def comment(str)
+ end
+ def doctype( name, pub_sys, long_name, uri )
+ end
+ def doctype_end
end
end
- def tag_end(name, *args)
- @stack.pop
- throw(:fini) if @stack.empty?
- end
- def text(str)
- @stack.last.text = str
- end
- def comment(str)
- end
- def doctype( name, pub_sys, long_name, uri )
- end
- def doctype_end
- end
-end
end