diff options
Diffstat (limited to 'test/rexml/test_listener.rb')
-rw-r--r-- | test/rexml/test_listener.rb | 184 |
1 files changed, 92 insertions, 92 deletions
diff --git a/test/rexml/test_listener.rb b/test/rexml/test_listener.rb index c9b49d9abb..f2cc4b7c35 100644 --- a/test/rexml/test_listener.rb +++ b/test/rexml/test_listener.rb @@ -7,96 +7,96 @@ require 'rexml/streamlistener' class BaseTester < Test::Unit::TestCase include REXMLTestUtils - def test_empty - return unless defined? @listener - # Empty. - t1 = %Q{<string></string>} - assert_equal( "", @listener.parse( t1 ), - "Empty" ) - end - - def test_space - return unless defined? @listener - # Space. - t2 = %Q{<string> </string>} - assert_equal( " ", @listener.parse( t2 ), - "Space" ) - end - - def test_whitespace - return unless defined? @listener - # Whitespaces. - t3 = %Q{<string>RE\n \t \n \t XML</string>} - assert_equal( "RE\n \t \n \t XML", @listener.parse( t3 ), - "Whitespaces" ) - end - - def test_leading_trailing_whitespace - return unless defined? @listener - # Leading and trailing whitespaces. - t4 = %Q{<string> REXML </string>} - assert_equal( " REXML ", @listener.parse( t4 ), - "Leading and trailing whitespaces" ) - end - - def test_entity_reference - return unless defined? @listener - # Entity reference. - t5 = %Q{<string><>&lt;&gt;</string>} - assert_equal( "<><>", @listener.parse( t5 ), - "Entity reference" ) - end - - def test_character_reference - return unless defined? @listener - # Character reference. - t6 = %Q{<string>
</string>} - assert_equal( "\r", @listener.parse( t6 ), - "Character reference." ) - end - - def test_cr - return unless defined? @listener - # CR. - t7 = %Q{<string> \r\n \r \n </string>} - assert_equal( " \n \n \n ".unpack("C*").inspect, - @listener.parse( t7 ).unpack("C*").inspect, "CR" ) - end - - # The accent bug, and the code that exibits the bug, was contributed by - # Guilhem Vellut - class AccentListener - def tag_start(name,attributes) - #p name - #p attributes - end - def tag_end(name) - #p "/"+name - end - def xmldecl(a,b,c) - #puts "#{a} #{b} #{c}" - end - def text(tx) - #p tx - end - end - - def test_accents - source = '<?xml version="1.0" encoding="ISO-8859-1"?> + def test_empty + return unless defined? @listener + # Empty. + t1 = %Q{<string></string>} + assert_equal( "", @listener.parse( t1 ), + "Empty" ) + end + + def test_space + return unless defined? @listener + # Space. + t2 = %Q{<string> </string>} + assert_equal( " ", @listener.parse( t2 ), + "Space" ) + end + + def test_whitespace + return unless defined? @listener + # Whitespaces. + t3 = %Q{<string>RE\n \t \n \t XML</string>} + assert_equal( "RE\n \t \n \t XML", @listener.parse( t3 ), + "Whitespaces" ) + end + + def test_leading_trailing_whitespace + return unless defined? @listener + # Leading and trailing whitespaces. + t4 = %Q{<string> REXML </string>} + assert_equal( " REXML ", @listener.parse( t4 ), + "Leading and trailing whitespaces" ) + end + + def test_entity_reference + return unless defined? @listener + # Entity reference. + t5 = %Q{<string><>&lt;&gt;</string>} + assert_equal( "<><>", @listener.parse( t5 ), + "Entity reference" ) + end + + def test_character_reference + return unless defined? @listener + # Character reference. + t6 = %Q{<string>
</string>} + assert_equal( "\r", @listener.parse( t6 ), + "Character reference." ) + end + + def test_cr + return unless defined? @listener + # CR. + t7 = %Q{<string> \r\n \r \n </string>} + assert_equal( " \n \n \n ".unpack("C*").inspect, + @listener.parse( t7 ).unpack("C*").inspect, "CR" ) + end + + # The accent bug, and the code that exibits the bug, was contributed by + # Guilhem Vellut + class AccentListener + def tag_start(name,attributes) + #p name + #p attributes + end + def tag_end(name) + #p "/"+name + end + def xmldecl(a,b,c) + #puts "#{a} #{b} #{c}" + end + def text(tx) + #p tx + end + end + + def test_accents + source = '<?xml version="1.0" encoding="ISO-8859-1"?> <g> <f a="é" /> </g>' - doc = REXML::Document.new( source ) - a = doc.elements['/g/f'].attribute('a') + doc = REXML::Document.new( source ) + a = doc.elements['/g/f'].attribute('a') if a.value.respond_to? :force_encoding a.value.force_encoding('binary') end - assert_equal( 'é', a.value) - doc = REXML::Document.parse_stream( - File::new(fixture_path("stream_accents.xml")), - AccentListener::new - ) - end + assert_equal( 'é', a.value) + doc = REXML::Document.parse_stream( + File::new(fixture_path("stream_accents.xml")), + AccentListener::new + ) + end end class MyREXMLListener @@ -118,12 +118,12 @@ class MyREXMLListener end class REXMLTester < BaseTester - def setup - @listener = MyREXMLListener.new - end - - def test_character_reference_2 - t6 = %Q{<string>
</string>} - assert_equal( t6.strip, REXML::Document.new(t6).to_s ) - end + def setup + @listener = MyREXMLListener.new + end + + def test_character_reference_2 + t6 = %Q{<string>
</string>} + assert_equal( t6.strip, REXML::Document.new(t6).to_s ) + end end |