diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2014-05-08 15:23:33 -0700 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2014-05-08 15:23:33 -0700 |
commit | f37430cb52ff43c664d2eca08fa5ab51b0413925 (patch) | |
tree | 8fffe5ac104f98557577ccb115595d0866c845e1 /tests/parser | |
parent | c86af7c94b9dc4e378a6f87b5cab3b7a571c9961 (diff) |
Add parser support for C++11 range-based for
Diffstat (limited to 'tests/parser')
-rw-r--r-- | tests/parser/driver.cxx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/parser/driver.cxx b/tests/parser/driver.cxx index 3414c0c..a8230cd 100644 --- a/tests/parser/driver.cxx +++ b/tests/parser/driver.cxx @@ -7,6 +7,7 @@ #endif #include <string> +#include <vector> #include <cassert> #include <iostream> #include <sstream> @@ -389,4 +390,26 @@ main () { // cerr << e.what () << endl; } + + // Test the iterator interface. + // + { + istringstream is ("<root><nested>X</nested></root>"); + parser p (is, "iterator"); + + vector<parser::event_type> v; + + for (parser::iterator i (p.begin ()); i != p.end (); ++i) + v.push_back (*i); + + //for (parser::event_type e: p) + // v.push_back (e); + + assert (v.size () == 5); + assert (v[0] == parser::start_element); + assert (v[1] == parser::start_element); + assert (v[2] == parser::characters); + assert (v[3] == parser::end_element); + assert (v[4] == parser::end_element); + } } |