aboutsummaryrefslogtreecommitdiffstats
path: root/test/rexml/test_stream.rb
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2020-01-11 21:37:00 +0900
committerSHIBATA Hiroshi <hsbt@ruby-lang.org>2020-01-12 12:28:29 +0900
commitc3ccf23d5807f2ff20127bf5e42df0977bf672fb (patch)
treed3953c32b61645c7af65d30e626af944f143cf58 /test/rexml/test_stream.rb
parent012f297311817ecb19f78c55854b033bb4b0397c (diff)
downloadruby-c3ccf23d5807f2ff20127bf5e42df0977bf672fb.tar.gz
Make rexml library to the bundle gems
[Feature #16485][ruby-core:96683]
Diffstat (limited to 'test/rexml/test_stream.rb')
-rw-r--r--test/rexml/test_stream.rb130
1 files changed, 0 insertions, 130 deletions
diff --git a/test/rexml/test_stream.rb b/test/rexml/test_stream.rb
deleted file mode 100644
index 08d4462ef9..0000000000
--- a/test/rexml/test_stream.rb
+++ /dev/null
@@ -1,130 +0,0 @@
-# frozen_string_literal: false
-require "test/unit/testcase"
-require "rexml/document"
-require 'rexml/streamlistener'
-require 'stringio'
-
-module REXMLTests
- 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" />}
-
- RequestReader.new( data )
- 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_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
- listener.events = {}
-
- REXML::Document.parse_stream( source, listener )
-
- 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
- end
- end
- listener.entities = []
-
- 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)
-
- assert_equal(["ISOLat2"], listener.entities)
- 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
- 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)
- end
- args.each do |attr,val|
- @stack.last.add_attribute(attr, val)
- 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