saxophonit :: SAXTestSuite :: actual
Logger of the actual event sequence.saxophonit :: SAXTestSuite :: actual=
Logger of the actual event sequence.saxophonit :: SAXTestSuite :: create_reader
Create a new SAX reader.saxophonit :: SAXTestSuite :: expected
Logger of the expected event sequence.saxophonit :: SAXTestSuite :: expected=
Logger of the expected event sequence.saxophonit :: SAXTestSuite :: parse_string
Make the reader parse the specified stringsaxophonit :: SAXTestSuite :: reader=
The tested SAX reader.saxophonit $ SAXTestSuite :: SELF
Type of this instance, automatically specialized in every classsaxophonit :: SAXTestSuite :: actual
Logger of the actual event sequence.saxophonit :: SAXTestSuite :: actual=
Logger of the actual event sequence.core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
saxophonit :: SAXTestSuite :: create_reader
Create a new SAX reader.core :: Object :: defaultinit
saxophonit :: SAXTestSuite :: expected
Logger of the expected event sequence.saxophonit :: SAXTestSuite :: expected=
Logger of the expected event sequence.core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
core :: Object :: output_class_name
Display class name on stdout (debug only).saxophonit :: SAXTestSuite :: parse_string
Make the reader parse the specified stringsaxophonit :: SAXTestSuite :: reader=
The tested SAX reader.
# Base class for test suites on a SAX reader.
abstract class SAXTestSuite
# Logger of the expected event sequence.
var expected = new SAXEventLogger
# Logger of the actual event sequence.
var actual = new SAXEventLogger
# The tested SAX reader.
var reader: XMLReader is noinit
private var init_done: Bool = false
fun before_test is before do
if not init_done then
reader = create_reader
actual.parent = reader
init_done = true
end
reader.feature("http://xml.org/sax/features/namespaces") = true
reader.feature("http://xml.org/sax/features/namespace-prefixes") = false
expected.clear_log
actual.clear_log
end
# Create a new SAX reader.
#
# This method is called at initialization to set `reader`.
fun create_reader: XMLReader is abstract
# Assert logs are equal.
fun assert_equals do
var diff = actual.diff(expected)
assert equals: diff.length <= 0 else
sys.stderr.write("\n")
sys.stderr.write("# {actual.term_deletion}< Actual{actual.term_default}\n")
sys.stderr.write("# {actual.term_insertion}> Expected{actual.term_default}\n")
sys.stderr.write(diff)
sys.stderr.write("\n")
end
end
# Make the reader parse the specified string
fun parse_string(str: String) do
actual.parse(new InputSource.with_stream(new StringReader(str)))
end
end
lib/saxophonit/testing.nit:532,1--580,3