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