summaryrefslogtreecommitdiff
path: root/jni/ruby/test/rexml/parser/test_tree.rb
diff options
context:
space:
mode:
authorJari Vetoniemi <jari.vetoniemi@indooratlas.com>2020-03-16 18:49:26 +0900
committerJari Vetoniemi <jari.vetoniemi@indooratlas.com>2020-03-30 00:39:06 +0900
commitfcbf63e62c627deae76c1b8cb8c0876c536ed811 (patch)
tree64cb17de3f41a2b6fef2368028fbd00349946994 /jni/ruby/test/rexml/parser/test_tree.rb
Fresh start
Diffstat (limited to 'jni/ruby/test/rexml/parser/test_tree.rb')
-rw-r--r--jni/ruby/test/rexml/parser/test_tree.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/jni/ruby/test/rexml/parser/test_tree.rb b/jni/ruby/test/rexml/parser/test_tree.rb
new file mode 100644
index 0000000..fa010f6
--- /dev/null
+++ b/jni/ruby/test/rexml/parser/test_tree.rb
@@ -0,0 +1,42 @@
+require "test/unit"
+require "rexml/document"
+require "rexml/parsers/treeparser"
+
+module REXMLTests
+class TestTreeParser < Test::Unit::TestCase
+ class TestInvalid < self
+ def test_unmatched_close_tag
+ xml = "<root></not-root>"
+ exception = assert_raise(REXML::ParseException) do
+ parse(xml)
+ end
+ assert_equal(<<-MESSAGE, exception.to_s)
+Missing end tag for 'root' (got "not-root")
+Line: 1
+Position: #{xml.bytesize}
+Last 80 unconsumed characters:
+ MESSAGE
+ end
+
+ def test_no_close_tag
+ xml = "<root>"
+ exception = assert_raise(REXML::ParseException) do
+ parse(xml)
+ end
+ assert_equal(<<-MESSAGE, exception.to_s)
+No close tag for /root
+Line: 1
+Position: #{xml.bytesize}
+Last 80 unconsumed characters:
+ MESSAGE
+ end
+
+ private
+ def parse(xml)
+ document = REXML::Document.new
+ parser = REXML::Parsers::TreeParser.new(xml, document)
+ parser.parse
+ end
+ end
+end
+end