From 2252927c04cc61c95a58cf4c3c47a0aac4b05b61 Mon Sep 17 00:00:00 2001 From: Arseny Kapoulkine Date: Thu, 22 Jun 2017 09:13:10 -0700 Subject: Deprecate xml_document::load(const char*) and xml_node::select_single_node These functions were deprecated via comments in 1.5 but never got the deprecated attribute; now is the time! Using deprecated functions produces a warning; to silence it, this change moves the relevant tests to a separate translation unit that has deprecation disabled. --- src/pugixml.hpp | 6 +++--- tests/test_deprecated.cpp | 21 +++++++++++++++++++++ tests/test_document.cpp | 7 ------- tests/test_xpath_api.cpp | 11 ----------- 4 files changed, 24 insertions(+), 21 deletions(-) create mode 100644 tests/test_deprecated.cpp diff --git a/src/pugixml.hpp b/src/pugixml.hpp index 4d76bfa..5059c96 100644 --- a/src/pugixml.hpp +++ b/src/pugixml.hpp @@ -631,8 +631,8 @@ namespace pugi xpath_node_set select_nodes(const xpath_query& query) const; // (deprecated: use select_node instead) Select single node by evaluating XPath query. - xpath_node select_single_node(const char_t* query, xpath_variable_set* variables = 0) const; - xpath_node select_single_node(const xpath_query& query) const; + PUGIXML_DEPRECATED xpath_node select_single_node(const char_t* query, xpath_variable_set* variables = 0) const; + PUGIXML_DEPRECATED xpath_node select_single_node(const xpath_query& query) const; #endif @@ -1004,7 +1004,7 @@ namespace pugi #endif // (deprecated: use load_string instead) Load document from zero-terminated string. No encoding conversions are applied. - xml_parse_result load(const char_t* contents, unsigned int options = parse_default); + PUGIXML_DEPRECATED xml_parse_result load(const char_t* contents, unsigned int options = parse_default); // Load document from zero-terminated string. No encoding conversions are applied. xml_parse_result load_string(const char_t* contents, unsigned int options = parse_default); diff --git a/tests/test_deprecated.cpp b/tests/test_deprecated.cpp new file mode 100644 index 0000000..55f8937 --- /dev/null +++ b/tests/test_deprecated.cpp @@ -0,0 +1,21 @@ +#define PUGIXML_DEPRECATED // Suppress deprecated declarations to avoid warnings + +#include "common.hpp" + +TEST(document_deprecated_load) +{ + xml_document doc; + CHECK(doc.load(STR(""))); + CHECK_NODE(doc, STR("")); +} + +TEST_XML(xpath_api_deprecated_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); +} diff --git a/tests/test_document.cpp b/tests/test_document.cpp index b702a07..fd376bb 100644 --- a/tests/test_document.cpp +++ b/tests/test_document.cpp @@ -1479,10 +1479,3 @@ TEST(document_convert_out_of_memory) delete[] files[j].data; } } - -TEST(document_deprecated_load) -{ - xml_document doc; - CHECK(doc.load(STR(""))); - CHECK_NODE(doc, STR("")); -} diff --git a/tests/test_xpath_api.cpp b/tests/test_xpath_api.cpp index 3f05e13..f933fb8 100644 --- a/tests/test_xpath_api.cpp +++ b/tests/test_xpath_api.cpp @@ -399,17 +399,6 @@ TEST_XML(xpath_api_node_set_assign_out_of_memory_preserve, "") -{ - 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); -} - TEST(xpath_api_empty) { xml_node c; -- cgit v1.2.3