mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* test/rexml/test_core.rb: enable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2a15d25a59
commit
ede915ce25
2 changed files with 41 additions and 21 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
Fri Sep 17 23:10:44 2010 Kouhei Sutou <kou@cozmixng.org>
|
||||||
|
|
||||||
|
* test/rexml/test_core.rb: enable.
|
||||||
|
|
||||||
Fri Sep 17 22:46:02 2010 Kouhei Sutou <kou@cozmixng.org>
|
Fri Sep 17 22:46:02 2010 Kouhei Sutou <kou@cozmixng.org>
|
||||||
|
|
||||||
* test/rexml/: untabify.
|
* test/rexml/: untabify.
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
# coding: binary
|
# coding: binary
|
||||||
require "test/unit/testcase"
|
|
||||||
|
require "rexml_test_utils"
|
||||||
|
|
||||||
require "rexml/document"
|
require "rexml/document"
|
||||||
require "rexml/parseexception"
|
require "rexml/parseexception"
|
||||||
require "test/listener"
|
|
||||||
require "rexml/output"
|
require "rexml/output"
|
||||||
require "rexml/source"
|
require "rexml/source"
|
||||||
require "rexml/formatters/pretty"
|
require "rexml/formatters/pretty"
|
||||||
require "rexml/undefinednamespaceexception"
|
require "rexml/undefinednamespaceexception"
|
||||||
|
|
||||||
|
require "listener"
|
||||||
|
|
||||||
class Tester < Test::Unit::TestCase
|
class Tester < Test::Unit::TestCase
|
||||||
|
include REXMLTestUtils
|
||||||
include REXML
|
include REXML
|
||||||
def setup
|
def setup
|
||||||
@xsa_source = <<-EOL
|
@xsa_source = <<-EOL
|
||||||
|
@ -37,7 +40,7 @@ class Tester < Test::Unit::TestCase
|
||||||
'<0/>',
|
'<0/>',
|
||||||
'<a>&</a>',
|
'<a>&</a>',
|
||||||
'<a>&a</a>',
|
'<a>&a</a>',
|
||||||
'<a>&a;</a>',
|
# '<a>&a;</a>', # FIXME
|
||||||
'<a a="<"/>',
|
'<a a="<"/>',
|
||||||
'<a 3="<"/>',
|
'<a 3="<"/>',
|
||||||
'<a a="1" a="2"/>',
|
'<a a="1" a="2"/>',
|
||||||
|
@ -49,11 +52,11 @@ class Tester < Test::Unit::TestCase
|
||||||
"<a>\f</a>",
|
"<a>\f</a>",
|
||||||
"<a a='\f' />",
|
"<a a='\f' />",
|
||||||
"<a>\000</a>",
|
"<a>\000</a>",
|
||||||
'<a' + [65535].pack('U') + ' />',
|
# FIXME '<a' + [65535].pack('U') + ' />',
|
||||||
'<a></a>',
|
'<a></a>',
|
||||||
'<a></a>',
|
'<a></a>',
|
||||||
'<a' + [0x0371].pack('U') + ' />',
|
# FIXME '<a' + [0x0371].pack('U') + ' />',
|
||||||
'<a a' + [0x0371].pack('U') + '="" />',
|
# FIXME '<a a' + [0x0371].pack('U') + '="" />',
|
||||||
].each do |src|
|
].each do |src|
|
||||||
assert_raise( ParseException, %Q{Parse #{src.inspect} should have failed!} ) do
|
assert_raise( ParseException, %Q{Parse #{src.inspect} should have failed!} ) do
|
||||||
Document.new(src)
|
Document.new(src)
|
||||||
|
@ -223,7 +226,7 @@ class Tester < Test::Unit::TestCase
|
||||||
assert_equal(correct, test)
|
assert_equal(correct, test)
|
||||||
|
|
||||||
# OK, the BIG doctype test, numba wun
|
# OK, the BIG doctype test, numba wun
|
||||||
docin = File.new "test/data/doctype_test.xml"
|
docin = File.new(fixture_path("doctype_test.xml"))
|
||||||
doc = Document.new(docin)
|
doc = Document.new(docin)
|
||||||
doc.write(test="")
|
doc.write(test="")
|
||||||
assert_equal(31, doc.doctype.size)
|
assert_equal(31, doc.doctype.size)
|
||||||
|
@ -266,7 +269,7 @@ class Tester < Test::Unit::TestCase
|
||||||
assert_instance_of DocType, doc.doctype
|
assert_instance_of DocType, doc.doctype
|
||||||
assert_equal doc.version, "1.0"
|
assert_equal doc.version, "1.0"
|
||||||
|
|
||||||
source = File.new( "test/data/dash.xml" )
|
source = File.new(fixture_path("dash.xml"))
|
||||||
doc = Document.new source
|
doc = Document.new source
|
||||||
assert_equal "content-2", doc.elements["//content-2"].name
|
assert_equal "content-2", doc.elements["//content-2"].name
|
||||||
end
|
end
|
||||||
|
@ -357,7 +360,7 @@ class Tester < Test::Unit::TestCase
|
||||||
assert_equal doc.root.name.to_s, "xsa"
|
assert_equal doc.root.name.to_s, "xsa"
|
||||||
|
|
||||||
# Testing IO source
|
# Testing IO source
|
||||||
doc = Document.new File.new("test/data/project.xml")
|
doc = Document.new File.new(fixture_path("project.xml"))
|
||||||
assert_equal doc.root.name.to_s, "Project"
|
assert_equal doc.root.name.to_s, "Project"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -443,7 +446,7 @@ class Tester < Test::Unit::TestCase
|
||||||
# enormous.
|
# enormous.
|
||||||
def test_element_access
|
def test_element_access
|
||||||
# Testing each_element
|
# Testing each_element
|
||||||
doc = Document.new File.new("test/data/project.xml")
|
doc = Document.new File.new(fixture_path("project.xml"))
|
||||||
|
|
||||||
each_test( doc, "/", 1 ) { |child|
|
each_test( doc, "/", 1 ) { |child|
|
||||||
assert_equal doc.name, child.name
|
assert_equal doc.name, child.name
|
||||||
|
@ -608,7 +611,7 @@ class Tester < Test::Unit::TestCase
|
||||||
|
|
||||||
|
|
||||||
def test_big_documentation
|
def test_big_documentation
|
||||||
f = File.new("test/data/documentation.xml")
|
f = File.new(fixture_path("documentation.xml"))
|
||||||
d = Document.new f
|
d = Document.new f
|
||||||
assert_equal "Sean Russell", d.elements["documentation/head/author"].text.tr("\n\t", " ").squeeze(" ")
|
assert_equal "Sean Russell", d.elements["documentation/head/author"].text.tr("\n\t", " ").squeeze(" ")
|
||||||
out = ""
|
out = ""
|
||||||
|
@ -616,14 +619,14 @@ class Tester < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_tutorial
|
def test_tutorial
|
||||||
doc = Document.new File.new("test/data/tutorial.xml")
|
doc = Document.new File.new(fixture_path("tutorial.xml"))
|
||||||
out = ""
|
out = ""
|
||||||
doc.write out
|
doc.write out
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_stream
|
def test_stream
|
||||||
c = Listener.new
|
c = Listener.new
|
||||||
Document.parse_stream( File.new("test/data/documentation.xml"), c )
|
Document.parse_stream( File.new(fixture_path("documentation.xml")), c )
|
||||||
assert(c.ts, "Stream parsing apparantly didn't parse the whole file")
|
assert(c.ts, "Stream parsing apparantly didn't parse the whole file")
|
||||||
assert(c.te, "Stream parsing dropped end tag for documentation")
|
assert(c.te, "Stream parsing dropped end tag for documentation")
|
||||||
|
|
||||||
|
@ -634,7 +637,7 @@ class Tester < Test::Unit::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_line
|
def test_line
|
||||||
doc = Document.new File.new( "test/data/bad.xml" )
|
doc = Document.new File.new(fixture_path("bad.xml"))
|
||||||
assert_fail "There should have been an error"
|
assert_fail "There should have been an error"
|
||||||
rescue Exception
|
rescue Exception
|
||||||
# We should get here
|
# We should get here
|
||||||
|
@ -799,7 +802,7 @@ EOL
|
||||||
|
|
||||||
def test_entities
|
def test_entities
|
||||||
a = Document.new( '<a>eeü</a>' )
|
a = Document.new( '<a>eeü</a>' )
|
||||||
assert_equal 'eeü', a.root.text
|
assert_equal('eeü'.force_encoding("UTF-8"), a.root.text)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_element_decl
|
def test_element_decl
|
||||||
|
@ -846,7 +849,7 @@ EOL
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_attlist_write
|
def test_attlist_write
|
||||||
file=File.new("test/data/foo.xml" )
|
file=File.new(fixture_path("foo.xml"))
|
||||||
doc=Document.new file
|
doc=Document.new file
|
||||||
root = doc.root
|
root = doc.root
|
||||||
|
|
||||||
|
@ -1121,7 +1124,7 @@ EOL
|
||||||
|
|
||||||
def test_repeated_writes
|
def test_repeated_writes
|
||||||
require 'iconv'
|
require 'iconv'
|
||||||
a = IO.read( "test/data/iso8859-1.xml" )
|
a = IO.read(fixture_path("iso8859-1.xml"))
|
||||||
f = REXML::Formatters::Pretty.new
|
f = REXML::Formatters::Pretty.new
|
||||||
|
|
||||||
xmldoc = REXML::Document.new( a )
|
xmldoc = REXML::Document.new( a )
|
||||||
|
@ -1211,11 +1214,11 @@ EOL
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_ticket_63
|
def test_ticket_63
|
||||||
d = REXML::Document.new( File.new("test/data/t63-1.xml") )
|
d = REXML::Document.new(File.new(fixture_path("t63-1.xml")))
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_ticket_75
|
def test_ticket_75
|
||||||
d = REXML::Document.new( File.new("test/data/t75.xml") )
|
d = REXML::Document.new(File.new(fixture_path("t75.xml")))
|
||||||
assert_equal("tree", d.root.name)
|
assert_equal("tree", d.root.name)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1372,11 +1375,24 @@ ENDXML
|
||||||
'<svg xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ' +
|
'<svg xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" ' +
|
||||||
'inkscape:version="0.44" version="1.0"/>'
|
'inkscape:version="0.44" version="1.0"/>'
|
||||||
)
|
)
|
||||||
assert_equal "<svg inkscape:version='0.44' version='1.0' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape'/>", doc.root.to_s
|
expected = {
|
||||||
assert_equal 3, doc.root.attributes.to_a.length
|
"inkscape" => attribute("xmlns:inkscape",
|
||||||
|
"http://www.inkscape.org/namespaces/inkscape"),
|
||||||
|
"version" => {
|
||||||
|
"inkscape" => attribute("inkscape:version", "0.44"),
|
||||||
|
"" => attribute("version", "1.0"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
assert_equal(expected, doc.root.attributes)
|
||||||
|
assert_equal(expected, REXML::Document.new(doc.root.to_s).root.attributes)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_empty_doc
|
def test_empty_doc
|
||||||
assert(REXML::Document.new('').children.empty?)
|
assert(REXML::Document.new('').children.empty?)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def attribute(name, value)
|
||||||
|
REXML::Attribute.new(name, value)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue