dbaccess/source/ui/querydesign/QueryTableView.cxx |    2 
 unoxml/qa/complex/unoxml/DOMTest.java             |  181 ----------------------
 unoxml/qa/unit/domtest.cxx                        |  180 +++++++++++++++++++++
 3 files changed, 181 insertions(+), 182 deletions(-)

New commits:
commit 87995efe7c1d49d87c12ced97033fa3f38bc76e4
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Wed Oct 23 17:20:05 2024 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Wed Oct 23 20:26:16 2024 +0200

    unoxml: port testXText from java to c++
    
    Change-Id: I548bfde6a78832dbb53f3b154ae79223fdc69454
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175510
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/unoxml/qa/complex/unoxml/DOMTest.java 
b/unoxml/qa/complex/unoxml/DOMTest.java
index 0d2436070e0d..7d31a525aae9 100644
--- a/unoxml/qa/complex/unoxml/DOMTest.java
+++ b/unoxml/qa/complex/unoxml/DOMTest.java
@@ -1312,187 +1312,6 @@ public class DOMTest
                 xText, xAttr.getLastChild());
     }
 
-    @Test public void testXText() throws Exception
-    {
-        XDocumentBuilder xBuilder =
-            UnoRuntime.queryInterface(XDocumentBuilder.class,
-            m_xMSF.createInstance("com.sun.star.xml.dom.DocumentBuilder"));
-        XDocument xDoc = xBuilder.newDocument();
-
-        XText xText = xDoc.createTextNode("foobar");
-        assertNotNull(xText);
-
-        assertEquals("XText.getData", "foobar", xText.getData());
-        assertEquals("XText.getLength", 6, xText.getLength());
-
-        /* FIXME
-        try {
-            xText.splitText(9999);
-            fail("XText.splitText(9999)");
-        } catch (DOMException e) {
-            assertTrue("XText.splitText(9999)", INDEX_SIZE_ERR == e.Code);
-        }
-
-        {
-            XText xTextBar = xText.splitText(2);
-            assertNotNull("XText.splitText", xTextBar);
-            assertEquals("XText.splitText", "foo", xText.getData());
-            assertEquals("XText.splitText", "bar", xTextBar.getData());
-        }
-        */
-        xText.setData("foo");
-
-        xText.appendData("baz");
-        assertEquals("XText.appendData", "foobaz", xText.getData());
-
-        try {
-            xText.deleteData(999,999);
-            fail("XText.deleteData(999,999)");
-        } catch (DOMException e) {
-            assertTrue("XText.deleteData(999,999)", INDEX_SIZE_ERR == e.Code);
-        }
-        xText.deleteData(0, 3);
-        assertEquals("XText.deleteData", "baz", xText.getData());
-
-        try {
-            xText.insertData(999,"blah");
-            fail("XText.insertData(999,\"blah\")");
-        } catch (DOMException e) {
-            assertTrue("XText.insertData(999,\"blah\")",
-                INDEX_SIZE_ERR == e.Code);
-        }
-        xText.insertData(1, "arb");
-        assertEquals("XText.insertData", "barbaz", xText.getData());
-
-        try {
-            xText.replaceData(999,999,"x");
-            fail("XText.replaceData(999,999,\"x\")");
-        } catch (DOMException e) {
-            assertTrue("XText.replaceData(999,999,\"x\")",
-                    INDEX_SIZE_ERR == e.Code);
-        }
-        xText.replaceData(3, 3, "foo");
-        assertEquals("XText.replaceData", "barfoo", xText.getData());
-
-        xText.setData("quux");
-        assertEquals("XText.setData", "quux", xText.getData());
-
-        try {
-            xText.subStringData(999,999);
-            fail("XText.subStringData(999,999)");
-        } catch (DOMException e) {
-            assertTrue("XText.subStringData(999,999)",
-                INDEX_SIZE_ERR == e.Code);
-        }
-        assertEquals("XText.subStringData", "x", xText.subStringData(3, 1));
-
-        // XNode
-
-        {
-            XNode xTextCloneN = xText.cloneNode(false);
-            assertNotNull("XText.cloneNode(false)", xTextCloneN);
-            XText xTextClone =
-                UnoRuntime.queryInterface(XText.class, xTextCloneN);
-            assertNotNull("XText.cloneNode(false)", xTextClone);
-            assertFalse("XText.cloneNode(false)",
-                    xTextClone.hasChildNodes());
-        }
-        {
-            XNode xTextCloneN = xText.cloneNode(true);
-            assertNotNull("XText.cloneNode(true)", xTextCloneN);
-            XText xTextClone =
-                UnoRuntime.queryInterface(XText.class, xTextCloneN);
-            assertNotNull("XText.cloneNode(true)", xTextClone);
-            assertFalse("XText.cloneNode(true)", xTextClone.hasChildNodes());
-        }
-
-        assertNull("XText.getAttributes()", xText.getAttributes());
-
-        {
-            XNodeList xChildren = xText.getChildNodes();
-            assertTrue("XText.getChildNodes()", 0 == xChildren.getLength());
-        }
-
-        assertEquals("XText.getLocalName()", "", xText.getLocalName());
-
-        assertEquals("XText.getNamespaceURI()", "", xText.getNamespaceURI());
-
-        assertNull("XText.getNextSibling()", xText.getNextSibling());
-
-        assertEquals("XText.getNodeName()", "#text", xText.getNodeName());
-
-        assertTrue("XText.getNodeType()",
-                TEXT_NODE == xText.getNodeType());
-
-        assertEquals("XText.getNodeValue()", "quux", xText.getNodeValue());
-
-        assertEquals("XText.getOwnerDocument()",
-                xDoc, xText.getOwnerDocument());
-
-        assertNull("XText.getParentNode()", xText.getParentNode());
-
-        assertEquals("XText.getPrefix()", "", xText.getPrefix());
-
-        assertNull("XText.getPreviousSibling()", xText.getPreviousSibling());
-
-        assertFalse("XText.hasAttributes()", xText.hasAttributes());
-
-        assertFalse("XText.hasChildNodes()", xText.hasChildNodes());
-
-        assertFalse("XText.isSupported()",
-                xText.isSupported("frobnication", "v99.33.0.0.0.1"));
-
-        xText.normalize();
-
-        xText.setNodeValue("42");
-        assertEquals("XText.setNodeValue()", "42", xText.getNodeValue());
-
-        try {
-            xText.setPrefix("foo");
-            fail("XText.setPrefix()");
-        } catch (DOMException e) {
-            assertTrue("XText.setPrefix()",
-                    NO_MODIFICATION_ALLOWED_ERR == e.Code);
-        }
-
-        XText xText2 = xDoc.createTextNode("foobar");
-        XText xText3 = xDoc.createTextNode("foobar");
-
-        try {
-            xText.appendChild(null);
-            fail("XText.appendChild(null)");
-        } catch (Exception e) { /* expected */ }
-        try {
-            xText.appendChild(xText2);
-            fail("XText.appendChild(xText2)");
-        } catch (DOMException e) {
-            assertTrue("XText.appendChild(xText2)",
-                    HIERARCHY_REQUEST_ERR == e.Code);
-        }
-
-        try {
-            xText.insertBefore(xText2, xText3);
-            fail("XText.insertBefore");
-        } catch (Exception e) { /* expected */ }
-
-        try {
-            xText.replaceChild(xText2, xText3);
-            fail("XText.insertBefore");
-        } catch (Exception e) { /* expected */ }
-
-        try {
-            xText.removeChild(null);
-            fail("XText.removeChild(null)");
-        } catch (Exception e) { /* expected */ }
-
-        try {
-            xText.removeChild(xText2);
-            fail("XText.removeChild");
-        } catch (DOMException e) {
-            assertTrue("XText.removeChild", HIERARCHY_REQUEST_ERR == e.Code);
-        }
-    }
-
     @Test public void testXCDataSection() throws Exception
     {
         XDocumentBuilder xBuilder =
diff --git a/unoxml/qa/unit/domtest.cxx b/unoxml/qa/unit/domtest.cxx
index a6d7997f8951..de17af86057c 100644
--- a/unoxml/qa/unit/domtest.cxx
+++ b/unoxml/qa/unit/domtest.cxx
@@ -561,6 +561,185 @@ public:
         }
     }
 
+    void testXText()
+    {
+        Reference< xml::dom::XDocument > xDocument = 
mxDomBuilder->newDocument();
+        CPPUNIT_ASSERT(xDocument);
+        uno::Reference<xml::dom::XText> xText = 
xDocument->createTextNode(u"foobar"_ustr);
+        CPPUNIT_ASSERT(xText);
+
+        CPPUNIT_ASSERT_EQUAL(u"foobar"_ustr, xText->getData());
+        CPPUNIT_ASSERT_EQUAL(sal_Int32(6), xText->getLength());
+
+        xText->setData(u"foo"_ustr);
+
+        xText->appendData(u"baz"_ustr);
+        CPPUNIT_ASSERT_EQUAL(u"foobaz"_ustr, xText->getData());
+
+        try
+        {
+            xText->deleteData(999, 999);
+            CPPUNIT_FAIL("XText.deleteData(999,999)");
+        }
+        catch (xml::dom::DOMException& e)
+        {
+            
CPPUNIT_ASSERT_EQUAL(xml::dom::DOMExceptionType::DOMExceptionType_INDEX_SIZE_ERR,
 e.Code);
+        }
+
+        xText->deleteData(0, 3);
+        CPPUNIT_ASSERT_EQUAL(u"baz"_ustr, xText->getData());
+
+        try
+        {
+            xText->insertData(999, u"blah"_ustr);
+            CPPUNIT_FAIL("XText.insertData(999,\"blah\")");
+        }
+        catch (xml::dom::DOMException& e)
+        {
+            
CPPUNIT_ASSERT_EQUAL(xml::dom::DOMExceptionType::DOMExceptionType_INDEX_SIZE_ERR,
 e.Code);
+        }
+
+        xText->insertData(1, u"arb"_ustr);
+        CPPUNIT_ASSERT_EQUAL(u"barbaz"_ustr, xText->getData());
+
+        try
+        {
+            xText->replaceData(999, 999, u"x"_ustr);
+            CPPUNIT_FAIL("XText.replaceData(999, 999, \"x\")");
+        }
+        catch (xml::dom::DOMException& e)
+        {
+            
CPPUNIT_ASSERT_EQUAL(xml::dom::DOMExceptionType::DOMExceptionType_INDEX_SIZE_ERR,
 e.Code);
+        }
+
+        xText->replaceData(3, 3, u"foo"_ustr);
+        CPPUNIT_ASSERT_EQUAL(u"barfoo"_ustr, xText->getData());
+
+        xText->setData(u"quux"_ustr);
+        CPPUNIT_ASSERT_EQUAL(u"quux"_ustr, xText->getData());
+
+        try
+        {
+            xText->subStringData(999, 999);
+            CPPUNIT_FAIL("XText.subStringData(999, 999)");
+        }
+        catch (xml::dom::DOMException& e)
+        {
+            
CPPUNIT_ASSERT_EQUAL(xml::dom::DOMExceptionType::DOMExceptionType_INDEX_SIZE_ERR,
 e.Code);
+        }
+
+        CPPUNIT_ASSERT_EQUAL(u"x"_ustr, xText->subStringData(3, 1));
+
+        // XNode
+        {
+            uno::Reference<xml::dom::XNode> xTextCloneN = 
xText->cloneNode(false);
+            CPPUNIT_ASSERT(xTextCloneN);
+            uno::Reference<xml::dom::XText> xTextClone(xTextCloneN, 
uno::UNO_QUERY_THROW);
+            CPPUNIT_ASSERT(xTextClone);
+            CPPUNIT_ASSERT(!xTextClone->hasChildNodes());
+        }
+        {
+            uno::Reference<xml::dom::XNode> xTextCloneN = 
xText->cloneNode(true);
+            CPPUNIT_ASSERT(xTextCloneN);
+            uno::Reference<xml::dom::XText> xTextClone(xTextCloneN, 
uno::UNO_QUERY_THROW);
+            CPPUNIT_ASSERT(xTextClone);
+            CPPUNIT_ASSERT(!xTextClone->hasChildNodes());
+        }
+
+        CPPUNIT_ASSERT(!xText->getAttributes());
+
+        uno::Reference<xml::dom::XNodeList> xChildList = 
xText->getChildNodes();
+        CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xChildList->getLength());
+
+        CPPUNIT_ASSERT_EQUAL(u""_ustr, xText->getLocalName());
+        CPPUNIT_ASSERT_EQUAL(u""_ustr, xText->getNamespaceURI());
+        CPPUNIT_ASSERT(!xText->getNextSibling());
+        CPPUNIT_ASSERT_EQUAL(u"#text"_ustr, xText->getNodeName());
+        CPPUNIT_ASSERT_EQUAL(xml::dom::NodeType::NodeType_TEXT_NODE, 
xText->getNodeType());
+        CPPUNIT_ASSERT_EQUAL(u"quux"_ustr, xText->getNodeValue());
+        CPPUNIT_ASSERT_EQUAL(xDocument, xText->getOwnerDocument());
+        CPPUNIT_ASSERT(!xText->getParentNode());
+        CPPUNIT_ASSERT_EQUAL(u""_ustr, xText->getPrefix());
+        CPPUNIT_ASSERT(!xText->getPreviousSibling());
+        CPPUNIT_ASSERT(!xText->hasAttributes());
+        CPPUNIT_ASSERT(!xText->hasChildNodes());
+        CPPUNIT_ASSERT(!xText->isSupported(u"frobnication"_ustr, 
u"v99.33.0.0.0.1"_ustr));
+
+        xText->normalize();
+        xText->setNodeValue(u"42"_ustr);
+        CPPUNIT_ASSERT_EQUAL(u"42"_ustr, xText->getNodeValue());
+
+        try
+        {
+            xText->setPrefix(u"foo"_ustr);
+            CPPUNIT_FAIL("XText.setPrefix()");
+        }
+        catch (xml::dom::DOMException& e)
+        {
+            
CPPUNIT_ASSERT_EQUAL(xml::dom::DOMExceptionType::DOMExceptionType_NO_MODIFICATION_ALLOWED_ERR,
 e.Code);
+        }
+
+        uno::Reference<xml::dom::XText> xText2 = 
xDocument->createTextNode(u"foobar"_ustr);
+        uno::Reference<xml::dom::XText> xText3 = 
xDocument->createTextNode(u"foobar"_ustr);
+
+        try
+        {
+            xText->appendChild(nullptr);
+            CPPUNIT_FAIL("XText.appendChild(null)");
+        }
+        catch (css::uno::RuntimeException&)
+        {
+        }
+
+        try
+        {
+            xText->appendChild(xText2);
+            CPPUNIT_FAIL("XText.appendChild(xText2)");
+        }
+        catch (xml::dom::DOMException& e)
+        {
+            
CPPUNIT_ASSERT_EQUAL(xml::dom::DOMExceptionType::DOMExceptionType_HIERARCHY_REQUEST_ERR,
 e.Code);
+        }
+
+        try
+        {
+            xText->insertBefore(xText2, xText3);
+            CPPUNIT_FAIL("XText.insertBefore");
+        }
+        catch (xml::dom::DOMException&)
+        {
+        }
+
+        try
+        {
+            xText->replaceChild(xText2, xText3);
+            CPPUNIT_FAIL("XText.replaceChild");
+        }
+        catch (xml::dom::DOMException&)
+        {
+        }
+
+        try
+        {
+            xText->removeChild(nullptr);
+            CPPUNIT_FAIL("XText.removeChild(null)");
+        }
+        catch (css::uno::RuntimeException&)
+        {
+        }
+
+        try
+        {
+            xText->removeChild(xText2);
+            CPPUNIT_FAIL("XText.removeChild");
+        }
+        catch (xml::dom::DOMException& e)
+        {
+            
CPPUNIT_ASSERT_EQUAL(xml::dom::DOMExceptionType::DOMExceptionType_HIERARCHY_REQUEST_ERR,
 e.Code);
+        }
+
+    }
+
     void testXProcessingInstruction()
     {
         Reference< xml::dom::XDocument > xDocument = 
mxDomBuilder->newDocument();
@@ -866,6 +1045,7 @@ public:
     CPPUNIT_TEST(testXDocumentBuilder);
     CPPUNIT_TEST(testXXPathAPI);
     CPPUNIT_TEST(testXXPathObject);
+    CPPUNIT_TEST(testXText);
     CPPUNIT_TEST(testXProcessingInstruction);
     CPPUNIT_TEST(testXNamedNodeMap_AttributesMap);
     CPPUNIT_TEST(testXNodeList_ChildList);
commit c69ce3a0c32374c2f328583be2c81674a208256a
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Wed Oct 23 16:03:05 2024 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Wed Oct 23 20:26:03 2024 +0200

    tdf#163486: PVS: check pTabWinTmp
    
    V595    The 'pTabWinTmp' pointer was utilized before it was verified 
against nullptr. Check lines: 496, 499.
    
    Change-Id: Ie263524d6a06adaf7f99555d7aa872e815cab96c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175504
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Tested-by: Jenkins

diff --git a/dbaccess/source/ui/querydesign/QueryTableView.cxx 
b/dbaccess/source/ui/querydesign/QueryTableView.cxx
index f48dc17c7a3a..2ca8c71b837f 100644
--- a/dbaccess/source/ui/querydesign/QueryTableView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTableView.cxx
@@ -493,10 +493,10 @@ void OQueryTableView::AddTabWin(const OUString& 
_rComposedName, const OUString&
                         if ( pTabWinTmp == pNewTabWin )
                             continue;
 
+                        assert(pTabWinTmp && "TableWindow is null!");
                         if ( pTabWinTmp->GetData()->isQuery() )
                             continue;
 
-                        assert(pTabWinTmp && "TableWindow is null!");
                         Reference< XPropertySet > xFKKey = getKeyReferencedTo( 
pTabWinTmp->GetData()->getKeys(), pNewTabWin->GetComposedName() );
                         if ( !xFKKey.is() )
                             continue;

Reply via email to