From a6e24513d89067c16a3df214a7e2679e1f1675f1 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 8 May 2014 17:02:55 -0700 Subject: Add helpers for parsing elements with simple content --- tests/parser/driver.cxx | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'tests') diff --git a/tests/parser/driver.cxx b/tests/parser/driver.cxx index a8230cd..84ab2fa 100644 --- a/tests/parser/driver.cxx +++ b/tests/parser/driver.cxx @@ -391,6 +391,64 @@ main () // cerr << e.what () << endl; } + // Test element with simple content helpers. + // + { + istringstream is ("" + " X" + " " + " 123" + " Y" + " Z" + " 234" + " 345" + " A" + " B" + " A" + " B" + " 1" + " 2" + " 1" + " 2" + ""); + parser p (is, "element"); + + p.next_expect (parser::start_element, "root", parser::complex); + + p.next_expect (parser::start_element, "nested"); + assert (p.element () == "X"); + + p.next_expect (parser::start_element, "nested"); + assert (p.element () == ""); + + p.next_expect (parser::start_element, "nested"); + assert (p.element () == 123); + + assert (p.element ("nested") == "Y"); + assert (p.element (qname ("test", "nested")) == "Z"); + + assert (p.element ("nested") == 234); + assert (p.element (qname ("test", "nested")) == 345); + + assert (p.element ("nested", "a") == "A"); + assert (p.element (qname ("test", "nested"), "b") == "B"); + + assert (p.element ("nested", "a") == "a" && + p.element ("nested1") == "A"); + assert (p.element (qname ("test", "nested"), "b") == "b" && + p.element (qname ("test", "nested1")) == "B"); + + assert (p.element ("nested", 10) == 1); + assert (p.element (qname ("test", "nested"), 20) == 2); + + assert (p.element ("nested", 10) == 10 && + p.element ("nested1") == 1); + assert (p.element (qname ("test", "nested"), 20) == 20 && + p.element (qname ("test", "nested1")) == 2); + + p.next_expect (parser::end_element); + } + // Test the iterator interface. // { -- cgit v1.1