You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by tn...@apache.org on 2002/03/14 22:59:29 UTC
cvs commit: xml-xerces/c/tests/IDom/IDOMTest IDTest.cpp IDTest.h
tng 02/03/14 13:59:29
Modified: c/tests/IDom/IDOMTest IDTest.cpp IDTest.h
Log:
Run methods test[NodeType] in the IDOMTest and other fixes.
Revision Changes Path
1.5 +126 -77 xml-xerces/c/tests/IDom/IDOMTest/IDTest.cpp
Index: IDTest.cpp
===================================================================
RCS file: /home/cvs/xml-xerces/c/tests/IDom/IDOMTest/IDTest.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- IDTest.cpp 1 Feb 2002 22:44:24 -0000 1.4
+++ IDTest.cpp 14 Mar 2002 21:59:29 -0000 1.5
@@ -56,6 +56,9 @@
/*
* $Log: IDTest.cpp,v $
+ * Revision 1.5 2002/03/14 21:59:29 tng
+ * Run methods test[NodeType] in the IDOMTest and other fixes.
+ *
* Revision 1.4 2002/02/01 22:44:24 peiyongz
* sane_include
*
@@ -190,7 +193,7 @@
* @param type document's type
*
*/
-void IDTest::docBuilder(IDOM_Document* document, XMLCh* nameIn)
+bool IDTest::docBuilder(IDOM_Document* document, XMLCh* nameIn)
{
XMLCh* name = XMLString::replicate(nameIn);
@@ -199,7 +202,7 @@
//name + "FirstElement"
XMLString::transcode("FirstElement", tempStr2, 3999);
- XMLString::catString(tempStr, name);
+ XMLString::copyString(tempStr, name);
XMLString::catString(tempStr, tempStr2);
IDOM_Element* docFirstElement = doc->createElement(tempStr);
@@ -422,6 +425,8 @@
delete [] name;
+ return OK;
+
//!! Throws a NOT_FOUND_ERR ********
@@ -434,7 +439,7 @@
/**
* @param document org.w3c.dom.IDOM_Document
*/
- void IDTest::findTestNodes(IDOM_Document* document) {
+void IDTest::findTestNodes(IDOM_Document* document) {
IDOM_Node* node = document;
int nodeCount = 0;
@@ -491,7 +496,7 @@
/**
* @param document org.w3c.dom.IDOM_Document
*/
- void IDTest::findTestNodes(IDOM_Node* node) {
+void IDTest::findTestNodes(IDOM_Node* node) {
IDTest test;
IDOM_Node* kid;
// Walk the tree until you find and assign all node types needed that exist.
@@ -558,8 +563,9 @@
*
*
*/
- int main(int argc, char **argv)
+int main(int argc, char **argv)
{
+ bool OK = true;
{
// Nest entire test in an inner block.
@@ -578,7 +584,6 @@
}
long avgTime = 0;
- bool OK = true;
long startTime = 0;//****************Time the whole thing for efficiency of IDOM implementation
// for (int i=0; i< 1000; i++)
@@ -601,10 +606,29 @@
// docDocType->getEntities()->setNamedItem(docEntity);
XMLString::transcode("d", tempStr3, 3999);
- test.docBuilder(d, tempStr3);
+ OK = test.docBuilder(d, tempStr3);
test.findTestNodes((IDOM_Node*)d);
+ OK = test.testAttr(d);
+ OK = test.testCDATASection(d);
+ OK = test.testCharacterData(d);
+ OK = test.testChildNodeList(d);
+ OK = test.testComment(d);
+ OK = test.testDeepNodeList(d);
+ OK = test.testDocument(d);
+ OK = test.testDocumentFragment(d);
+ OK = test.testDocumentType(d);
+ OK = test.testIDOMImplementation(d);
+ OK = test.testElement(d);
+// OK = test.testEntity(d); // Can not test entities; only parser can create them.
+ OK = test.testEntityReference(d);
+ OK = test.testNode(d);
+ OK = test.testNotation(d);
+ OK = test.testPI(d);
+ OK = test.testText(d);
+ OK = test.testIDOMerrors(d);
+
// Null out the static object references in class IDTest,
// which will recover their storage.
IDTest::testElementNode = 0;
@@ -626,7 +650,7 @@
XMLPlatformUtils::Terminate();
- printf("Test Run Successfully\n");
+ if (OK) printf("Test Run Successfully\n");
return 0;
};
@@ -636,7 +660,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testAttr(IDOM_Document* document)
+bool IDTest::testAttr(IDOM_Document* document)
{
IDOM_Node* node;
IDOM_Attr* attributeNode;
@@ -740,7 +764,7 @@
*/
if (cloneOK == false)
{
- printf("'cloneNode' did not clone the Attribute node correctly\n");
+ fprintf(stderr, "'cloneNode' did not clone the Attribute node correctly\n");
OK = false;
}
// Deep clone test comparison is in testNode & testDocument
@@ -762,6 +786,7 @@
if (! OK)
printf("\n*****The IDOM_Attr* method calls listed above failed, all others worked correctly.*****\n");
// printf("");
+ return OK;
};
@@ -773,7 +798,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testCDATASection(IDOM_Document* document)
+bool IDTest::testCDATASection(IDOM_Document* document)
{
IDOM_Node* node;
IDOM_Node* node2;
@@ -785,12 +810,12 @@
node2 = node->cloneNode(T);//*****?
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
+ if (!(!XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
(node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
- ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
- : (node->getNodeValue() == 0 && node2->getNodeValue() == 0)) // If one node doesn't have a value node make sure both don't
+ ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
+ : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
{
- printf("'cloneNode' did not clone the IDOM_CDATASection* node correctly\n");
+ fprintf(stderr, "'cloneNode' did not clone the IDOM_CDATASection* node correctly\n");
OK = false;
}
// Deep clone test comparison is in testNode & testDocument
@@ -800,6 +825,7 @@
if (! OK)
printf("\n*****The IDOM_CDATASection* method calls listed above failed, all others worked correctly.*****\n");
// printf("");
+ return OK;
};
@@ -809,7 +835,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testCharacterData(IDOM_Document* document)
+bool IDTest::testCharacterData(IDOM_Document* document)
{
IDOM_CharacterData* charData;
XMLCh resetData[3999];
@@ -830,10 +856,14 @@
XMLString::copyString(resetData,charData->getData());
// printf("This node's original data is: " + charData->getData());
- XMLString::copyString(tempStr, charData->getData());
XMLString::transcode(" This is new data for this node", tempStr2, 3999);
- XMLString::copyString(tempStr, tempStr2);
- charData->appendData(tempStr);
+
+ XMLString::copyString(tempStr, charData->getData());
+ XMLString::catString(tempStr, tempStr2);
+
+ charData->appendData(tempStr2);
+
+
if (XMLString::compareString(tempStr, charData->getData()))
{
printf("Warning!!! IDOM_CharacterData's 'appendData' failed to work properly!\n");
@@ -934,6 +964,7 @@
printf("\n*****The IDOM_CharacterData method calls listed above failed, all others worked correctly.*****\n");
charData->setData(resetData); // reset node to original data
// printf(""\n);
+ return OK;
};
@@ -944,7 +975,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testChildNodeList(IDOM_Document* document)
+bool IDTest::testChildNodeList(IDOM_Document* document)
{
IDOM_Node* node;
IDOM_Node* node2;
@@ -963,6 +994,7 @@
if (!OK)
printf("\n*****The ChildNodeList method calls listed above failed, all others worked correctly.*****\n");
// printf("");
+ return OK;
};
@@ -972,7 +1004,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testComment(IDOM_Document* document)
+bool IDTest::testComment(IDOM_Document* document)
{
IDOM_Node* node;
IDOM_Node* node2;
@@ -983,18 +1015,21 @@
node = document->getDocumentElement()->getElementsByTagName(tempStr)->item(0)->getFirstChild(); // node gets textNode11
node2 = node->cloneNode(T);
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(node->getNodeName(),node2->getNodeName()) && // Compares node names for equality
+ if (!(!XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
(node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
- ? !XMLString::compareString(node->getNodeValue(),node2->getNodeValue()) // If both have value nodes test those value nodes for equality
- : (node->getNodeValue() == 0 && node2->getNodeValue() == 0)) // If one node doesn't have a value node make sure both don't
- //printf("'cloneNode' did not clone the IDOM_Comment* node correctly\n");
+ ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
+ : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
+ {
+ fprintf(stderr, "'cloneNode' did not clone the IDOM_Comment* node correctly\n");
OK = false;
+ }
// Deep clone test comparison is in testNode & testDocument
if (OK)
// For debugging***** printf("All IDOM_Comment* method calls worked correctly.\n");
if (!OK)
printf("\n*****The IDOM_Comment* method calls listed above failed, all others worked correctly.*****\n");
// printf("\n");
+ return OK;
};
@@ -1004,7 +1039,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testDeepNodeList(IDOM_Document* document)
+bool IDTest::testDeepNodeList(IDOM_Document* document)
{
IDOM_Node* node;
IDOM_Node* node2;
@@ -1042,6 +1077,7 @@
if (!OK)
printf("\n*****The DeepNodeList method calls listed above failed, all others worked correctly.*****\n");
// printf("");
+ return OK;
};
@@ -1053,7 +1089,7 @@
*
**** ALL IDOM_Document* create methods are run in docBuilder except createAttribute which is in testAttribute**
*/
-void IDTest::testDocument(IDOM_Document* document)
+bool IDTest::testDocument(IDOM_Document* document)
{
IDTest make;
IDOM_DocumentFragment* docFragment, *docFragment2;
@@ -1097,10 +1133,12 @@
*/
IDOM_Node* rootElement = document->getLastChild();
- if (XMLString::compareString(rootElement->getNodeName(), document->getDocumentElement()->getNodeName()) && // Compares node names for equality
- (rootElement->getNodeValue() != 0 && document->getDocumentElement()->getNodeValue() != 0) // Checks to make sure each node has a value node
+
+ bool check = (rootElement->getNodeValue() && document->getDocumentElement()->getNodeValue()) // Checks to make sure each node has a value node
? !XMLString::compareString(rootElement->getNodeValue(), document->getDocumentElement()->getNodeValue()) // If both have value nodes test those value nodes for equality
- : (rootElement->getNodeValue() == 0 && document->getDocumentElement()->getNodeValue() == 0)) // If one node doesn't have a value node make sure both don't
+ : (rootElement->getNodeValue() == 0 && document->getDocumentElement()->getNodeValue() == 0); // If one node doesn't have a value node make sure both don't
+ if (!(!XMLString::compareString(rootElement->getNodeName(), document->getDocumentElement()->getNodeName()) && // Compares node names for equality
+ check))
{
printf("Warning!!! IDOM_Document's 'getDocumentElement' method failed!\n" );
OK = false;
@@ -1203,6 +1241,7 @@
if (!OK)
printf("\n*****The IDOM_Document* method calls listed above failed, all others worked correctly.*****\n");
// printf("\n");
+ return OK;
};
@@ -1215,7 +1254,7 @@
*
********This really isn't needed, only exists to throw NO_MODIFICATION_ALLOWED_ERR ********
*/
-void IDTest::testDocumentFragment(IDOM_Document* document)
+bool IDTest::testDocumentFragment(IDOM_Document* document)
{
bool OK = true;
// For debugging***** printf("\n testDocumentFragment's outputs:\n");
@@ -1227,6 +1266,7 @@
if (!OK)
printf("\n*****The IDOM_DocumentFragment* method calls listed above failed, all others worked correctly.*****\n");
// printf("\n");
+ return OK;
};
@@ -1236,7 +1276,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testDocumentType(IDOM_Document* document)
+bool IDTest::testDocumentType(IDOM_Document* document)
{
IDTest test;
IDOM_DocumentType* docType, *holdDocType;
@@ -1249,12 +1289,12 @@
node = document->getFirstChild(); // node gets doc's docType node
node2 = node->cloneNode(true);
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
- (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
- ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
- : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))// If one node doesn't have a value node make sure both don't
+ if (!(!XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
+ (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
+ ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
+ : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
{
- printf("'cloneNode' did not clone the IDOM_DocumentType* node correctly\n");
+ fprintf(stderr, "'cloneNode' did not clone the IDOM_DocumentType* node correctly\n");
OK = false;
}
// Deep clone test comparison is in testNode & testDocument
@@ -1283,6 +1323,7 @@
if (!OK)
printf("\n*****The IDOM_DocumentType* method calls listed above failed, all others worked correctly.*****\n");
// printf("");
+ return OK;
};
@@ -1290,13 +1331,14 @@
/**
* @param document org.w3c.dom.IDOM_Document
*/
-void IDTest::testIDOMerrors(IDOM_Document* document) {
+bool IDTest::testIDOMerrors(IDOM_Document* document) {
bool OK = true;
IDTest tests;
EXCEPTIONSTEST(document->appendChild(testElementNode), IDOM_DOMException::HIERARCHY_REQUEST_ERR, OK, 201 );
EXCEPTIONSTEST(testTextNode->appendChild(testTextNode), IDOM_DOMException::HIERARCHY_REQUEST_ERR, OK, 202 );
+ return OK;
};
@@ -1306,7 +1348,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testIDOMImplementation(IDOM_Document* document)
+bool IDTest::testIDOMImplementation(IDOM_Document* document)
{
IDOM_DOMImplementation* implementation;
@@ -1338,6 +1380,7 @@
if (!OK)
fprintf(stderr, "\n*****The IDOM_IDOMImplementation method calls listed above failed, all others worked correctly.*****\n");
// printf("");
+ return OK;
};
@@ -1347,7 +1390,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testElement(IDOM_Document* document)
+bool IDTest::testElement(IDOM_Document* document)
{
IDOM_Attr* attributeNode, *newAttributeNode;
IDOM_Element* element, *element2;
@@ -1366,10 +1409,10 @@
node = document->getDocumentElement(); // node gets doc's firstElement
node2 = node->cloneNode(true);
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
- (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
- ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
- :(node->getNodeValue() == 0 && node2->getNodeValue() == 0))// If one node doesn't have a value node make sure both don't
+ if (!(!XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
+ (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
+ ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
+ : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
{
fprintf(stderr, "'cloneNode' did not clone the IDOM_Element* node correctly.\n");
OK = false;
@@ -1535,7 +1578,7 @@
if (!OK)
printf("\n*****The IDOM_Element* method calls listed above failed, all others worked correctly.*****\n");
// printf("");
-
+ return OK;
};
@@ -1545,7 +1588,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testEntity(IDOM_Document* document)
+bool IDTest::testEntity(IDOM_Document* document)
{
IDOM_Entity* entity;
IDOM_Node* node, *node2;
@@ -1557,12 +1600,12 @@
node = entity;
node2 = entity->cloneNode(true);
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
- ((node->getNodeValue() != 0 && node2->getNodeValue() != 0) ? // Checks to make sure each node has a value node
- !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) : // If both have value nodes test those value nodes for equality
- (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
+ if (!(!XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
+ (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
+ ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
+ : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
{
- printf("Warning!!! 'cloneNode' did not clone the IDOM_Entity* node correctly");
+ fprintf(stderr, "'cloneNode' did not clone the IDOM_Entity* node correctly");
OK = false;
}
// Deep clone test comparison is in testNode & testDocument
@@ -1571,6 +1614,7 @@
if (!OK)
printf("\n*****The IDOM_Entity* method calls listed above failed, all others worked correctly.*****\n");
// printf("");
+ return OK;
};
@@ -1579,7 +1623,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testEntityReference(IDOM_Document* document)
+bool IDTest::testEntityReference(IDOM_Document* document)
{
IDOM_EntityReference* entityReference;
IDOM_Node* node, *node2;
@@ -1590,12 +1634,12 @@
node = entityReference;
node2 = node->cloneNode(true);
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
- (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
- ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
- :(node->getNodeValue() == 0 && node2->getNodeValue() == 0))// If one node doesn't have a value node make sure both don't
+ if (!(!XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
+ (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
+ ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
+ : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
{
- printf("'cloneNode' did not clone the IDOM_EntityReference* node correctly\n");
+ fprintf(stderr, "'cloneNode' did not clone the IDOM_EntityReference* node correctly\n");
OK = false;
}
// Deep clone test comparison is in testNode & testDocument
@@ -1606,6 +1650,7 @@
if (!OK)
printf("\n*****The IDOM_EntityReference* method calls listed above failed, all others worked correctly.*****\n");
// printf("\n");
+ return OK;
};
@@ -1619,7 +1664,7 @@
********* This is only for a test of cloneNode "deep"*******
********* And for error tests*********
*/
-void IDTest::testNode(IDOM_Document* document)
+bool IDTest::testNode(IDOM_Document* document)
{
IDOM_Node* node, *node2;
bool result;
@@ -1656,6 +1701,7 @@
if (!OK)
printf("\n*****The IDOM_Node* method calls listed above failed, all others worked correctly.*****\n");
// printf("\n");
+ return OK;
};
@@ -1665,7 +1711,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testNotation(IDOM_Document* document)
+bool IDTest::testNotation(IDOM_Document* document)
{
IDOM_Node* node, *node2;
IDOM_Notation* notation;
@@ -1677,12 +1723,12 @@
node = notation;
node2 = notation->cloneNode(true);//*****?
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
- (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
- ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
- :(node->getNodeValue() == 0 && node2->getNodeValue() == 0))// If one node doesn't have a value node make sure both don't
+ if (!(!XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
+ (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
+ ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
+ : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
{
- printf("'cloneNode' did not clone the IDOM_Notation* node correctly");
+ fprintf(stderr, "'cloneNode' did not clone the IDOM_Notation* node correctly");
OK = false;
}
// Deep clone test comparison is in testNode & testDocument
@@ -1693,6 +1739,7 @@
if (!OK)
printf("\n*****The IDOM_Notation* method calls listed above failed, all others worked correctly.*****\n");
// printf("");
+ return OK;
};
@@ -1702,7 +1749,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testPI(IDOM_Document* document)
+bool IDTest::testPI(IDOM_Document* document)
{
IDOM_ProcessingInstruction* pI, *pI2;
bool OK = true;
@@ -1712,10 +1759,10 @@
IDOM_Node* abc51 = pI->cloneNode(true);//*****?
pI2 = (IDOM_ProcessingInstruction*) abc51;
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(pI->getNodeName(), pI2->getNodeName()) && // Compares node names for equality
+ if (!(!XMLString::compareString(pI->getNodeName(), pI2->getNodeName()) && // Compares node names for equality
(pI->getNodeValue() != 0 && pI2->getNodeValue() != 0) // Checks to make sure each node has a value node
? !XMLString::compareString(pI->getNodeValue(), pI2->getNodeValue()) // If both have value nodes test those value nodes for equality
- :(pI->getNodeValue() == 0 && pI2->getNodeValue() == 0))// If one node doesn't have a value node make sure both don't
+ :(pI->getNodeValue() == 0 && pI2->getNodeValue() == 0)))// If one node doesn't have a value node make sure both don't
{
printf("'cloneNode' did not clone the IDOM_Entity* node correctly\n");
OK = false;
@@ -1754,6 +1801,7 @@
printf("\n*****The PI method calls listed above failed, all others worked correctly.*****\n");
// printf("\n");
+ return OK;
};
@@ -1763,7 +1811,7 @@
* @param document org.w3c.dom.IDOM_Document
*
*/
-void IDTest::testText(IDOM_Document* document)
+bool IDTest::testText(IDOM_Document* document)
{
IDOM_Node* node, *node2;
IDOM_Text* text;
@@ -1776,12 +1824,12 @@
text = (IDOM_Text*) node;
node2 = node->cloneNode(true);//*****?
// Check nodes for equality, both their name and value or lack thereof
- if (XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
- (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
- ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
- :(node->getNodeValue() == 0 && node2->getNodeValue() == 0))// If one node doesn't have a value node make sure both don't
+ if (!(!XMLString::compareString(node->getNodeName(), node2->getNodeName()) && // Compares node names for equality
+ (node->getNodeValue() != 0 && node2->getNodeValue() != 0) // Checks to make sure each node has a value node
+ ? !XMLString::compareString(node->getNodeValue(), node2->getNodeValue()) // If both have value nodes test those value nodes for equality
+ : (node->getNodeValue() == 0 && node2->getNodeValue() == 0))) // If one node doesn't have a value node make sure both don't
{
- printf("'cloneNode' did not clone the IDOM_Text* node correctly\n");
+ fprintf(stderr, "'cloneNode' did not clone the IDOM_Text* node correctly\n");
OK = false;
}
// Deep clone test comparison is in testNode & testDocument
@@ -1817,6 +1865,7 @@
printf("\n*****The IDOM_Text* method calls listed above failed, all others worked correctly.*****\n");
// printf("\n");
+ return OK;
};
@@ -1835,15 +1884,15 @@
IDOM_Node* kid, *kid2; // Check the subtree for equality
kid = node->getFirstChild();
kid2 = node2->getFirstChild();
- if (!kid && !kid2)
+ if (kid && kid2)
{
answer = treeCompare(kid, kid2);
if (!answer)
return answer;
else
- if (!kid->getNextSibling() && !kid2->getNextSibling())
+ if (kid->getNextSibling() && kid2->getNextSibling())
{
- while (!kid->getNextSibling() && !kid2->getNextSibling())
+ while (kid->getNextSibling() && kid2->getNextSibling())
{
answer = treeCompare(kid->getNextSibling(), kid2->getNextSibling());
if (!answer)
@@ -1855,7 +1904,7 @@
}
}
} else
- if (!(kid->getNextSibling() && kid2->getNextSibling()))
+ if (!(!kid->getNextSibling() && !kid2->getNextSibling()))
{
return false;
}
1.3 +22 -19 xml-xerces/c/tests/IDom/IDOMTest/IDTest.h
Index: IDTest.h
===================================================================
RCS file: /home/cvs/xml-xerces/c/tests/IDom/IDOMTest/IDTest.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- IDTest.h 1 Feb 2002 22:44:24 -0000 1.2
+++ IDTest.h 14 Mar 2002 21:59:29 -0000 1.3
@@ -56,6 +56,9 @@
/*
* $Log: IDTest.h,v $
+ * Revision 1.3 2002/03/14 21:59:29 tng
+ * Run methods test[NodeType] in the IDOMTest and other fixes.
+ *
* Revision 1.2 2002/02/01 22:44:24 peiyongz
* sane_include
*
@@ -99,47 +102,47 @@
IDOM_DocumentType* createDocumentType(IDOM_Document* doc, XMLCh* name);
IDOM_Entity* createEntity(IDOM_Document* doc, XMLCh* name);
IDOM_Notation* createNotation(IDOM_Document* doc, XMLCh* name);
-void docBuilder(IDOM_Document* document, XMLCh* name);
+bool docBuilder(IDOM_Document* document, XMLCh* name);
void findTestNodes(IDOM_Document* document);
void findTestNodes(IDOM_Node* node);
-void testAttr(IDOM_Document* document);
-void testCDATASection(IDOM_Document* document);
-void testCharacterData(IDOM_Document* document);
-void testChildNodeList(IDOM_Document* document);
-void testComment(IDOM_Document* document);
-void testDeepNodeList(IDOM_Document* document);
+bool testAttr(IDOM_Document* document);
+bool testCDATASection(IDOM_Document* document);
+bool testCharacterData(IDOM_Document* document);
+bool testChildNodeList(IDOM_Document* document);
+bool testComment(IDOM_Document* document);
+bool testDeepNodeList(IDOM_Document* document);
/**
**** ALL IDOM_Document create methods are run in docBuilder except createAttribute which is in testAttribute**
*/
-void testDocument(IDOM_Document* document);
+bool testDocument(IDOM_Document* document);
/**
********This really isn't needed, only exists to throw NO_MODIFICATION_ALLOWED_ERR ********
*/
-void testDocumentFragment(IDOM_Document* document);
+bool testDocumentFragment(IDOM_Document* document);
-void testDocumentType(IDOM_Document* document);
-void testIDOMerrors(IDOM_Document* document);
-void testIDOMImplementation(IDOM_Document* document);
-void testElement(IDOM_Document* document);
-void testEntity(IDOM_Document* document);
-void testEntityReference(IDOM_Document* document);
+bool testDocumentType(IDOM_Document* document);
+bool testIDOMerrors(IDOM_Document* document);
+bool testIDOMImplementation(IDOM_Document* document);
+bool testElement(IDOM_Document* document);
+bool testEntity(IDOM_Document* document);
+bool testEntityReference(IDOM_Document* document);
/**
********* This is only for a test of cloneNode "deep"*******
********* And for error tests*********
*/
-void testNode(IDOM_Document* document);
+bool testNode(IDOM_Document* document);
-void testNotation(IDOM_Document* document);
-void testPI(IDOM_Document* document);
-void testText(IDOM_Document* document);
+bool testNotation(IDOM_Document* document);
+bool testPI(IDOM_Document* document);
+bool testText(IDOM_Document* document);
bool treeCompare(IDOM_Node* node, IDOM_Node* node2);
};
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org