📄 elementtest.cpp
字号:
assert (pNNM->length() == 1); assert (!pElem->hasAttribute("a3")); pElem->removeAttribute("a1"); assert (pNNM->length() == 0);}void ElementTest::testAttrMapNS(){ AutoPtr<Document> pDoc = new Document; AutoPtr<Element> pElem = pDoc->createElementNS("urn:ns1", "elem"); AutoPtr<NamedNodeMap> pNNM = pElem->attributes(); assert (pNNM->length() == 0); pElem->setAttributeNS("urn:ns1", "a1", "v1"); assert (pNNM->length() == 1); assert (pNNM->item(0)->nodeName() == "a1"); assert (pNNM->getNamedItemNS("urn:ns1", "a1")->nodeName() == "a1"); pElem->setAttributeNS("urn:ns1", "a2", "v2"); assert (pNNM->length() == 2); assert (pNNM->item(0)->nodeName() == "a1"); assert (pNNM->getNamedItem("a1")->nodeName() == "a1"); assert (pNNM->item(1)->nodeName() == "a2"); assert (pNNM->getNamedItem("a2")->nodeName() == "a2"); Attr* pAttr = pDoc->createAttributeNS("urn:ns2", "a3"); pNNM->setNamedItem(pAttr); pAttr->release(); assert (pNNM->length() == 3); assert (pNNM->item(0)->nodeName() == "a1"); assert (pNNM->getNamedItemNS("urn:ns1", "a1")->nodeName() == "a1"); assert (pNNM->item(1)->nodeName() == "a2"); assert (pNNM->getNamedItemNS("urn:ns1", "a2")->nodeName() == "a2"); assert (pNNM->item(2)->nodeName() == "a3"); assert (pNNM->getNamedItemNS("urn:ns2", "a3")->nodeName() == "a3"); pNNM->removeNamedItemNS("urn:ns1", "a2"); assert (pNNM->length() == 2); assert (!pElem->hasAttributeNS("urn:ns1", "a2")); pNNM->removeNamedItemNS("urn:ns2", "a3"); assert (pNNM->length() == 1); assert (!pElem->hasAttributeNS("urn:ns2", "a3")); pElem->removeAttributeNS("urn:ns1", "a1"); assert (pNNM->length() == 0);}void ElementTest::testElementsByTagName(){ AutoPtr<Document> pDoc = new Document; AutoPtr<Element> pRoot = pDoc->createElement("root"); AutoPtr<NodeList> pNL1 = pRoot->getElementsByTagName("*"); AutoPtr<NodeList> pNL2 = pRoot->getElementsByTagName("elem"); assert (pNL1->length() == 0); assert (pNL2->length() == 0); AutoPtr<Element> pElem1 = pDoc->createElement("elem"); pRoot->appendChild(pElem1); assert (pNL1->length() == 1); assert (pNL2->length() == 1); assert (pNL1->item(0) == pElem1); assert (pNL2->item(0) == pElem1); AutoPtr<Element> pElem2 = pDoc->createElement("Elem"); pRoot->appendChild(pElem2); assert (pNL1->length() == 2); assert (pNL2->length() == 1); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem2); assert (pNL2->item(0) == pElem1); AutoPtr<Element> pElem3 = pDoc->createElement("elem"); pRoot->appendChild(pElem3); assert (pNL1->length() == 3); assert (pNL2->length() == 2); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem2); assert (pNL1->item(2) == pElem3); assert (pNL2->item(0) == pElem1); assert (pNL2->item(1) == pElem3); AutoPtr<Element> pElem11 = pDoc->createElement("elem"); pElem1->appendChild(pElem11); assert (pNL1->length() == 4); assert (pNL2->length() == 3); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem11); assert (pNL1->item(2) == pElem2); assert (pNL1->item(3) == pElem3); assert (pNL2->item(0) == pElem1); assert (pNL2->item(1) == pElem11); assert (pNL2->item(2) == pElem3); AutoPtr<Element> pElem12 = pDoc->createElement("Elem"); pElem1->appendChild(pElem12); assert (pNL1->length() == 5); assert (pNL2->length() == 3); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem11); assert (pNL1->item(2) == pElem12); assert (pNL1->item(3) == pElem2); assert (pNL1->item(4) == pElem3); assert (pNL2->item(0) == pElem1); assert (pNL2->item(1) == pElem11); assert (pNL2->item(2) == pElem3); AutoPtr<Element> pElem21 = pDoc->createElement("elem"); pElem2->appendChild(pElem21); assert (pNL1->length() == 6); assert (pNL2->length() == 4); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem11); assert (pNL1->item(2) == pElem12); assert (pNL1->item(3) == pElem2); assert (pNL1->item(4) == pElem21); assert (pNL1->item(5) == pElem3); assert (pNL2->item(0) == pElem1); assert (pNL2->item(1) == pElem11); assert (pNL2->item(2) == pElem21); assert (pNL2->item(3) == pElem3);}void ElementTest::testElementsByTagNameNS(){ AutoPtr<Document> pDoc = new Document; AutoPtr<Element> pRoot = pDoc->createElementNS("urn:ns1", "root"); AutoPtr<NodeList> pNL1 = pRoot->getElementsByTagNameNS("*", "*"); AutoPtr<NodeList> pNL2 = pRoot->getElementsByTagNameNS("*", "elem"); AutoPtr<NodeList> pNL3 = pRoot->getElementsByTagNameNS("urn:ns1", "elem"); assert (pNL1->length() == 0); assert (pNL2->length() == 0); AutoPtr<Element> pElem1 = pDoc->createElementNS("urn:ns1", "elem"); pRoot->appendChild(pElem1); assert (pNL1->length() == 1); assert (pNL2->length() == 1); assert (pNL3->length() == 1); assert (pNL1->item(0) == pElem1); assert (pNL2->item(0) == pElem1); assert (pNL3->item(0) == pElem1); AutoPtr<Element> pElem2 = pDoc->createElementNS("urn:ns1", "Elem"); pRoot->appendChild(pElem2); assert (pNL1->length() == 2); assert (pNL2->length() == 1); assert (pNL3->length() == 1); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem2); assert (pNL2->item(0) == pElem1); assert (pNL3->item(0) == pElem1); AutoPtr<Element> pElem3 = pDoc->createElementNS("urn:ns2", "elem"); pRoot->appendChild(pElem3); assert (pNL1->length() == 3); assert (pNL2->length() == 2); assert (pNL3->length() == 1); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem2); assert (pNL1->item(2) == pElem3); assert (pNL2->item(0) == pElem1); assert (pNL2->item(1) == pElem3); assert (pNL3->item(0) == pElem1); AutoPtr<Element> pElem11 = pDoc->createElementNS("urn:ns1", "elem"); pElem1->appendChild(pElem11); assert (pNL1->length() == 4); assert (pNL2->length() == 3); assert (pNL3->length() == 2); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem11); assert (pNL1->item(2) == pElem2); assert (pNL1->item(3) == pElem3); assert (pNL2->item(0) == pElem1); assert (pNL2->item(1) == pElem11); assert (pNL2->item(2) == pElem3); assert (pNL3->item(0) == pElem1); assert (pNL3->item(1) == pElem11); AutoPtr<Element> pElem12 = pDoc->createElementNS("urn:ns1", "Elem"); pElem1->appendChild(pElem12); assert (pNL1->length() == 5); assert (pNL2->length() == 3); assert (pNL3->length() == 2); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem11); assert (pNL1->item(2) == pElem12); assert (pNL1->item(3) == pElem2); assert (pNL1->item(4) == pElem3); assert (pNL2->item(0) == pElem1); assert (pNL2->item(1) == pElem11); assert (pNL2->item(2) == pElem3); assert (pNL3->item(0) == pElem1); assert (pNL3->item(1) == pElem11); AutoPtr<Element> pElem21 = pDoc->createElementNS("urn:ns1", "elem"); pElem2->appendChild(pElem21); assert (pNL1->length() == 6); assert (pNL2->length() == 4); assert (pNL3->length() == 3); assert (pNL1->item(0) == pElem1); assert (pNL1->item(1) == pElem11); assert (pNL1->item(2) == pElem12); assert (pNL1->item(3) == pElem2); assert (pNL1->item(4) == pElem21); assert (pNL1->item(5) == pElem3); assert (pNL2->item(0) == pElem1); assert (pNL2->item(1) == pElem11); assert (pNL2->item(2) == pElem21); assert (pNL2->item(3) == pElem3); assert (pNL3->item(0) == pElem1); assert (pNL3->item(1) == pElem11); assert (pNL3->item(2) == pElem21);}void ElementTest::testInnerText(){ AutoPtr<Document> pDoc = new Document; AutoPtr<Element> pRoot = pDoc->createElement("root"); AutoPtr<Text> pText1 = pDoc->createTextNode("text1"); AutoPtr<Element> pElem1 = pDoc->createElement("elem1"); AutoPtr<Text> pText2 = pDoc->createTextNode("text2"); AutoPtr<Text> pText3 = pDoc->createTextNode("text3"); pElem1->appendChild(pText2); pRoot->appendChild(pText1); pRoot->appendChild(pElem1); pRoot->appendChild(pText3); XMLString innerText = pRoot->innerText(); assert (innerText == "text1text2text3");}void ElementTest::testChildElement(){ AutoPtr<Document> pDoc = new Document; AutoPtr<Element> pRoot = pDoc->createElement("root"); AutoPtr<Element> pElem1 = pDoc->createElement("elem1"); AutoPtr<Element> pElem2 = pDoc->createElement("elem2"); AutoPtr<Element> pElem3 = pDoc->createElement("elem3"); AutoPtr<Element> pElem4 = pDoc->createElement("elem3"); pRoot->appendChild(pElem1); pRoot->appendChild(pElem2); pRoot->appendChild(pElem3); pRoot->appendChild(pElem4); assert (pRoot->getChildElement("elem1") == pElem1); assert (pRoot->getChildElement("elem2") == pElem2); assert (pRoot->getChildElement("elem3") == pElem3); assert (pRoot->getChildElement("elem4") == 0); assert (pElem1->getChildElement("elem11") == 0);}void ElementTest::testChildElementNS(){ AutoPtr<Document> pDoc = new Document; AutoPtr<Element> pRoot = pDoc->createElementNS("urn:ns", "root"); AutoPtr<Element> pElem1 = pDoc->createElementNS("urn:ns", "elem1"); AutoPtr<Element> pElem2 = pDoc->createElementNS("urn:ns", "elem2"); AutoPtr<Element> pElem3 = pDoc->createElementNS("urn:ns", "elem3"); AutoPtr<Element> pElem4 = pDoc->createElementNS("urn:ns", "elem3"); pRoot->appendChild(pElem1); pRoot->appendChild(pElem2); pRoot->appendChild(pElem3); pRoot->appendChild(pElem4); assert (pRoot->getChildElementNS("urn:ns", "elem1") == pElem1); assert (pRoot->getChildElementNS("urn:ns", "elem2") == pElem2); assert (pRoot->getChildElementNS("urn:ns", "elem3") == pElem3); assert (pRoot->getChildElementNS("urn:ns", "elem4") == 0); assert (pRoot->getChildElementNS("urn:NS", "elem1") == 0); assert (pElem1->getChildElementNS("urn:ns", "elem11") == 0);}void ElementTest::setUp(){}void ElementTest::tearDown(){}CppUnit::Test* ElementTest::suite(){ CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("ElementTest"); CppUnit_addTest(pSuite, ElementTest, testAttributes); CppUnit_addTest(pSuite, ElementTest, testAttributesNS); CppUnit_addTest(pSuite, ElementTest, testAttrMap); CppUnit_addTest(pSuite, ElementTest, testAttrMapNS); CppUnit_addTest(pSuite, ElementTest, testElementsByTagName); CppUnit_addTest(pSuite, ElementTest, testElementsByTagNameNS); CppUnit_addTest(pSuite, ElementTest, testInnerText); CppUnit_addTest(pSuite, ElementTest, testChildElement); CppUnit_addTest(pSuite, ElementTest, testChildElementNS); return pSuite;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -