summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2017-06-22 09:13:10 -0700
committerArseny Kapoulkine <arseny.kapoulkine@gmail.com>2017-06-22 09:13:10 -0700
commit2252927c04cc61c95a58cf4c3c47a0aac4b05b61 (patch)
tree2c7fe93906b158ce0a4ada9768357f97ad1c334a
parent94ef7b3a033825c4bc3d3578b55f2349182745f0 (diff)
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.
-rw-r--r--src/pugixml.hpp6
-rw-r--r--tests/test_deprecated.cpp21
-rw-r--r--tests/test_document.cpp7
-rw-r--r--tests/test_xpath_api.cpp11
4 files changed, 24 insertions, 21 deletions
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("<node/>")));
+ CHECK_NODE(doc, STR("<node/>"));
+}
+
+TEST_XML(xpath_api_deprecated_select_single_node, "<node><head/><foo id='1'/><foo/><tail/></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("<node/>")));
- CHECK_NODE(doc, STR("<node/>"));
-}
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, "<node><a/><b/></node
CHECK(ns[0] == doc.child(STR("node")).child(STR("a")) && ns[1] == doc.child(STR("node")).child(STR("b")));
}
-TEST_XML(xpath_api_deprecated_select_single_node, "<node><head/><foo id='1'/><foo/><tail/></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);
-}
-
TEST(xpath_api_empty)
{
xml_node c;