From 7d24b9b5655d584b6dc8b89df7cbd58d2e940a81 Mon Sep 17 00:00:00 2001 From: "arseny.kapoulkine" Date: Mon, 19 Jul 2010 09:57:32 +0000 Subject: Set svn:eol-style to native for all text files git-svn-id: http://pugixml.googlecode.com/svn/trunk@607 99668b35-9821-0410-8761-19e4c4f06640 --- tests/test_xpath_api.cpp | 300 +++++++++++++++++++++++------------------------ 1 file changed, 150 insertions(+), 150 deletions(-) (limited to 'tests/test_xpath_api.cpp') diff --git a/tests/test_xpath_api.cpp b/tests/test_xpath_api.cpp index 56e8ff6..f7fc868 100644 --- a/tests/test_xpath_api.cpp +++ b/tests/test_xpath_api.cpp @@ -1,150 +1,150 @@ -#ifndef PUGIXML_NO_XPATH - -#include "common.hpp" - -#include "helpers.hpp" - -#include - -TEST_XML(xpath_api_select_nodes, "") -{ - xpath_node_set ns1 = doc.select_nodes(STR("node/foo")); - - xpath_query q(STR("node/foo")); - xpath_node_set ns2 = doc.select_nodes(q); - - xpath_node_set_tester(ns1, "ns1") % 4 % 5; - xpath_node_set_tester(ns2, "ns2") % 4 % 5; -} - -TEST_XML(xpath_api_select_single_node, "") -{ - xpath_node n1 = doc.select_single_node(STR("node/foo")); - - xpath_query q(STR("node/foo")); - xpath_node n2 = doc.select_single_node(q); - - CHECK(n1.node().attribute(STR("id")).as_int() == 1); - CHECK(n2.node().attribute(STR("id")).as_int() == 1); - - xpath_node n3 = doc.select_single_node(STR("node/bar")); - - CHECK(!n3); - - xpath_node n4 = doc.select_single_node(STR("node/head/following-sibling::foo")); - xpath_node n5 = doc.select_single_node(STR("node/tail/preceding-sibling::foo")); - - CHECK(n4.node().attribute(STR("id")).as_int() == 1); - CHECK(n5.node().attribute(STR("id")).as_int() == 1); -} - -TEST(xpath_api_exception_what) -{ - try - { - xpath_query q(STR("")); - } - catch (const xpath_exception& e) - { - CHECK(e.what()[0] != 0); - } -} - -TEST_XML(xpath_api_node_bool_ops, "") -{ - generic_bool_ops_test(doc.select_single_node(STR("node"))); - generic_bool_ops_test(doc.select_single_node(STR("node/@attr"))); -} - -TEST_XML(xpath_api_node_eq_ops, "") -{ - generic_eq_ops_test(doc.select_single_node(STR("node")), doc.select_single_node(STR("node/@attr"))); -} - -TEST_XML(xpath_api_node_accessors, "") -{ - xpath_node null; - xpath_node node = doc.select_single_node(STR("node")); - xpath_node attr = doc.select_single_node(STR("node/@attr")); - - CHECK(!null.node()); - CHECK(!null.attribute()); - CHECK(!null.parent()); - - CHECK(node.node() == doc.child(STR("node"))); - CHECK(!node.attribute()); - CHECK(node.parent() == doc); - - CHECK(!attr.node()); - CHECK(attr.attribute() == doc.child(STR("node")).attribute(STR("attr"))); - CHECK(attr.parent() == doc.child(STR("node"))); -} - -inline void xpath_api_node_accessors_helper(const xpath_node_set& set) -{ - CHECK(set.size() == 2); - CHECK(set.type() == xpath_node_set::type_sorted); - CHECK(!set.empty()); - CHECK_STRING(set[0].node().name(), STR("foo")); - CHECK_STRING(set[1].node().name(), STR("foo")); - CHECK(set.first() == set[0]); - CHECK(set.begin() + 2 == set.end()); - CHECK(set.begin()[0] == set[0] && set.begin()[1] == set[1]); -} - -TEST_XML(xpath_api_nodeset_accessors, "") -{ - xpath_node_set null; - CHECK(null.size() == 0); - CHECK(null.type() == xpath_node_set::type_unsorted); - CHECK(null.empty()); - CHECK(!null.first()); - CHECK(null.begin() == null.end()); - - xpath_node_set set = doc.select_nodes(STR("node/foo")); - xpath_api_node_accessors_helper(set); - - xpath_node_set copy = set; - xpath_api_node_accessors_helper(copy); - - xpath_node_set assigned; - assigned = set; - xpath_api_node_accessors_helper(assigned); - - xpath_node_set nullcopy = null; -} - -TEST_XML(xpath_api_evaluate, "") -{ - xpath_query q(STR("node/@attr")); - - CHECK(q.evaluate_boolean(doc)); - CHECK(q.evaluate_number(doc) == 3); - CHECK(q.evaluate_string(doc) == STR("3")); - - xpath_node_set ns = q.evaluate_node_set(doc); - CHECK(ns.size() == 1 && ns[0].attribute() == doc.child(STR("node")).attribute(STR("attr"))); -} - -TEST(xpath_api_evaluate_node_set) -{ - try - { - xpath_query q(STR("1")); - - q.evaluate_node_set(xml_node()); - } - catch (const xpath_exception&) - { - } -} - -TEST(xpath_api_return_type) -{ - CHECK(xpath_query(STR("node")).return_type() == xpath_type_node_set); - CHECK(xpath_query(STR("1")).return_type() == xpath_type_number); - CHECK(xpath_query(STR("'s'")).return_type() == xpath_type_string); - CHECK(xpath_query(STR("true()")).return_type() == xpath_type_boolean); -} - -#endif +#ifndef PUGIXML_NO_XPATH + +#include "common.hpp" + +#include "helpers.hpp" + +#include + +TEST_XML(xpath_api_select_nodes, "") +{ + xpath_node_set ns1 = doc.select_nodes(STR("node/foo")); + + xpath_query q(STR("node/foo")); + xpath_node_set ns2 = doc.select_nodes(q); + + xpath_node_set_tester(ns1, "ns1") % 4 % 5; + xpath_node_set_tester(ns2, "ns2") % 4 % 5; +} + +TEST_XML(xpath_api_select_single_node, "") +{ + xpath_node n1 = doc.select_single_node(STR("node/foo")); + + xpath_query q(STR("node/foo")); + xpath_node n2 = doc.select_single_node(q); + + CHECK(n1.node().attribute(STR("id")).as_int() == 1); + CHECK(n2.node().attribute(STR("id")).as_int() == 1); + + xpath_node n3 = doc.select_single_node(STR("node/bar")); + + CHECK(!n3); + + xpath_node n4 = doc.select_single_node(STR("node/head/following-sibling::foo")); + xpath_node n5 = doc.select_single_node(STR("node/tail/preceding-sibling::foo")); + + CHECK(n4.node().attribute(STR("id")).as_int() == 1); + CHECK(n5.node().attribute(STR("id")).as_int() == 1); +} + +TEST(xpath_api_exception_what) +{ + try + { + xpath_query q(STR("")); + } + catch (const xpath_exception& e) + { + CHECK(e.what()[0] != 0); + } +} + +TEST_XML(xpath_api_node_bool_ops, "") +{ + generic_bool_ops_test(doc.select_single_node(STR("node"))); + generic_bool_ops_test(doc.select_single_node(STR("node/@attr"))); +} + +TEST_XML(xpath_api_node_eq_ops, "") +{ + generic_eq_ops_test(doc.select_single_node(STR("node")), doc.select_single_node(STR("node/@attr"))); +} + +TEST_XML(xpath_api_node_accessors, "") +{ + xpath_node null; + xpath_node node = doc.select_single_node(STR("node")); + xpath_node attr = doc.select_single_node(STR("node/@attr")); + + CHECK(!null.node()); + CHECK(!null.attribute()); + CHECK(!null.parent()); + + CHECK(node.node() == doc.child(STR("node"))); + CHECK(!node.attribute()); + CHECK(node.parent() == doc); + + CHECK(!attr.node()); + CHECK(attr.attribute() == doc.child(STR("node")).attribute(STR("attr"))); + CHECK(attr.parent() == doc.child(STR("node"))); +} + +inline void xpath_api_node_accessors_helper(const xpath_node_set& set) +{ + CHECK(set.size() == 2); + CHECK(set.type() == xpath_node_set::type_sorted); + CHECK(!set.empty()); + CHECK_STRING(set[0].node().name(), STR("foo")); + CHECK_STRING(set[1].node().name(), STR("foo")); + CHECK(set.first() == set[0]); + CHECK(set.begin() + 2 == set.end()); + CHECK(set.begin()[0] == set[0] && set.begin()[1] == set[1]); +} + +TEST_XML(xpath_api_nodeset_accessors, "") +{ + xpath_node_set null; + CHECK(null.size() == 0); + CHECK(null.type() == xpath_node_set::type_unsorted); + CHECK(null.empty()); + CHECK(!null.first()); + CHECK(null.begin() == null.end()); + + xpath_node_set set = doc.select_nodes(STR("node/foo")); + xpath_api_node_accessors_helper(set); + + xpath_node_set copy = set; + xpath_api_node_accessors_helper(copy); + + xpath_node_set assigned; + assigned = set; + xpath_api_node_accessors_helper(assigned); + + xpath_node_set nullcopy = null; +} + +TEST_XML(xpath_api_evaluate, "") +{ + xpath_query q(STR("node/@attr")); + + CHECK(q.evaluate_boolean(doc)); + CHECK(q.evaluate_number(doc) == 3); + CHECK(q.evaluate_string(doc) == STR("3")); + + xpath_node_set ns = q.evaluate_node_set(doc); + CHECK(ns.size() == 1 && ns[0].attribute() == doc.child(STR("node")).attribute(STR("attr"))); +} + +TEST(xpath_api_evaluate_node_set) +{ + try + { + xpath_query q(STR("1")); + + q.evaluate_node_set(xml_node()); + } + catch (const xpath_exception&) + { + } +} + +TEST(xpath_api_return_type) +{ + CHECK(xpath_query(STR("node")).return_type() == xpath_type_node_set); + CHECK(xpath_query(STR("1")).return_type() == xpath_type_number); + CHECK(xpath_query(STR("'s'")).return_type() == xpath_type_string); + CHECK(xpath_query(STR("true()")).return_type() == xpath_type_boolean); +} + +#endif -- cgit v1.2.3