summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2019-05-01 09:17:14 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2019-05-01 12:30:22 +0200
commitd822953cbc1d8814ac9f9eac2107177d37103542 (patch)
treebfe57eba2ec0e1dbb816d3ce5972298d65780b3d /sw
parent54fa7c42d4b0907a0aba820ce167b8929c0f0246 (diff)
Make getXPathPosition assert on requested child found
Previously, for an XML like this: <sharedItems> <d v="2017-07-10T09:11:02"/> <d v="2017-07-10T09:11:03"/> <m/> </sharedItems> the call like int pos = getXPathPosition(pDoc, "/x:sharedItems", "absent"); gave 3. That could result in mistakes, when a test would assert on position "3" for a child element which name is mistyped. I made such a mistake when creating a unit test trying to assert on a position of the last element, and writing its name as "x:m", like in rXPath itself; the return was 3, and I initially wrongly assumed that the return is 1-based (like in xpath bracketed expressions). rChildName made const OString&, for consistency with rXPath, or with rAttribute in getXPath: child name is just a part of a longer xpath. Change-Id: I7ba9c4466c75b1b10fce1ccf26ef3b56b4e11e87 Reviewed-on: https://gerrit.libreoffice.org/71614 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/extras/uiwriter/uiwriter.cxx28
1 files changed, 11 insertions, 17 deletions
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index d6795ead6620..aa32c236eaab 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -4680,12 +4680,10 @@ void SwUiWriterTest::testBookmarkCollapsed()
const OString aPath("/office:document-content/office:body/office:text/text:p");
const int pos1 = getXPathPosition(pXmlDoc, aPath, "bookmark");
- const int pos2 = getXPathPosition(pXmlDoc, aPath, "bookmark-start");
- const int pos3 = getXPathPosition(pXmlDoc, aPath, "bookmark-end");
-
CPPUNIT_ASSERT_EQUAL(0, pos1); // found, and it is first
- CPPUNIT_ASSERT_EQUAL(2, pos2); // not found
- CPPUNIT_ASSERT_EQUAL(2, pos3); // not found
+
+ CPPUNIT_ASSERT_ASSERTION_FAIL(getXPathPosition(pXmlDoc, aPath, "bookmark-start")); // not found
+ CPPUNIT_ASSERT_ASSERTION_FAIL(getXPathPosition(pXmlDoc, aPath, "bookmark-end")); // not found
}
}
@@ -4758,11 +4756,10 @@ void SwUiWriterTest::testRemoveBookmarkText()
{
const OString aPath("/office:document-content/office:body/office:text/text:p");
- const int pos1 = getXPathPosition(pXmlDoc, aPath, "bookmark");
+ CPPUNIT_ASSERT_ASSERTION_FAIL(getXPathPosition(pXmlDoc, aPath, "bookmark")); // not found
const int pos2 = getXPathPosition(pXmlDoc, aPath, "bookmark-start");
const int pos3 = getXPathPosition(pXmlDoc, aPath, "bookmark-end");
- CPPUNIT_ASSERT_EQUAL(3, pos1); // not found
CPPUNIT_ASSERT_EQUAL(0, pos2); // found, and it is first
CPPUNIT_ASSERT_EQUAL(1, pos3); // found, and it is second
}
@@ -4865,12 +4862,11 @@ void SwUiWriterTest::testRemoveBookmarkTextAndAddNew()
{
const OString aPath("/office:document-content/office:body/office:text/text:p");
- const int pos1 = getXPathPosition(pXmlDoc, aPath, "bookmark");
+ CPPUNIT_ASSERT_ASSERTION_FAIL(getXPathPosition(pXmlDoc, aPath, "bookmark")); // not found
const int pos2 = getXPathPosition(pXmlDoc, aPath, "bookmark-start");
const int pos3 = getXPathPosition(pXmlDoc, aPath, "text");
const int pos4 = getXPathPosition(pXmlDoc, aPath, "bookmark-end");
- CPPUNIT_ASSERT_EQUAL(4, pos1); // not found
CPPUNIT_ASSERT_EQUAL(0, pos2);
CPPUNIT_ASSERT_EQUAL(1, pos3);
CPPUNIT_ASSERT_EQUAL(2, pos4);
@@ -4935,13 +4931,11 @@ void SwUiWriterTest::testRemoveBookmarkTextAndAddNewAfterReload()
const int pos1 = getXPathPosition(pXmlDoc, aPath, "bookmark");
const int pos2 = getXPathPosition(pXmlDoc, aPath, "text");
- const int pos3 = getXPathPosition(pXmlDoc, aPath, "bookmark-start");
- const int pos4 = getXPathPosition(pXmlDoc, aPath, "bookmark-end");
-
CPPUNIT_ASSERT_EQUAL(0, pos1);
CPPUNIT_ASSERT_EQUAL(1, pos2);
- CPPUNIT_ASSERT_EQUAL(2, pos3); // not found
- CPPUNIT_ASSERT_EQUAL(2, pos4); // not found
+
+ CPPUNIT_ASSERT_ASSERTION_FAIL(getXPathPosition(pXmlDoc, aPath, "bookmark-start")); // not found
+ CPPUNIT_ASSERT_ASSERTION_FAIL(getXPathPosition(pXmlDoc, aPath, "bookmark-end")); // not found
}
}
@@ -6852,9 +6846,9 @@ void SwUiWriterTest::testInconsistentBookmark()
{
const OString aPath("/office:document-content/office:body/office:text/text:p");
- const OUString aTagBookmarkStart("bookmark-start");
- const OUString aTagControl("control");
- const OUString aTagBookmarkEnd("bookmark-end");
+ const OString aTagBookmarkStart("bookmark-start");
+ const OString aTagControl("control");
+ const OString aTagBookmarkEnd("bookmark-end");
const int pos1 = getXPathPosition(pXmlDoc, aPath, aTagBookmarkStart);
const int pos2 = getXPathPosition(pXmlDoc, aPath, aTagControl);