much more tests; all exceptions in readin tested

This commit is contained in:
Marc Wäckerlin
2009-04-08 06:44:18 +00:00
parent 0965b21e27
commit e48b91683e
3 changed files with 115 additions and 22 deletions

View File

@@ -189,13 +189,6 @@ namespace xml {
stream_error("missing end tag, end of file reached", t, is, tag, c) {
}
};
class empty_stream: public stream_error {
public:
empty_stream(const Node& t, std::istream& is, const Tag& tag, char c=0)
throw():
stream_error("no xml tag found, stream is empty", t, is, tag, c) {
}
};
class wrong_start_tag: public stream_error {
public:
wrong_start_tag(const Node& t, std::istream& is, const Tag& tag, char c=0)
@@ -303,7 +296,8 @@ namespace xml {
//----------------------------------------------------------------------------
//! An xml Node.
/*! XML Nodes may contain either text or other nodes, but not both
at the same time. */
at the same time. This node can hold other nodes. For a Node for
text contents, see xml::String. */
class Node {
private:
typedef std::vector<Node*> Contents;
@@ -398,7 +392,7 @@ namespace xml {
throw(wrong_end_tag, wrong_start_tag, tag_expected, type_mismatch,
second_slash_in_tag, character_after_slash,
missing_end_tag, attribute_value_not_quoted, access_error,
empty_stream, duplicate_attribute, attributes_in_end_tag);
duplicate_attribute, attributes_in_end_tag);
private:
friend class stream_error;
Factory(); // not implemented