nodetest.cpp

来自「C++ class libraries for network-centric,」· C++ 代码 · 共 1,127 行 · 第 1/3 页

CPP
1,127
字号
	AutoPtr<Element> pChild6 = pDoc->createElement("child6");	AutoPtr<Element> pChild7 = pDoc->createElement("child7");	pFrag->appendChild(pChild6);	pFrag->appendChild(pChild7);	pRoot->insertBefore(pFrag, 0);	assert (pRoot->firstChild() == pChild2);	assert (pRoot->lastChild() == pChild7);	assert (pChild2->previousSibling() == 0);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild6);	assert (pChild6->previousSibling() == pChild3);	assert (pChild6->nextSibling() == pChild7);	assert (pChild7->previousSibling() == pChild6);	assert (pChild7->nextSibling() == 0);	AutoPtr<Element> pChild0 = pDoc->createElement("child0");	AutoPtr<Element> pChild1 = pDoc->createElement("child1");	pFrag->appendChild(pChild0);	pFrag->appendChild(pChild1);	pRoot->insertBefore(pFrag, pChild2);	assert (pRoot->firstChild() == pChild0);	assert (pRoot->lastChild() == pChild7);		assert (pChild0->previousSibling() == 0);	assert (pChild0->nextSibling() == pChild1);	assert (pChild1->previousSibling() == pChild0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild6);	assert (pChild6->previousSibling() == pChild3);	assert (pChild6->nextSibling() == pChild7);	assert (pChild7->previousSibling() == pChild6);	assert (pChild7->nextSibling() == 0);		AutoPtr<Element> pChild4 = pDoc->createElement("child4");	AutoPtr<Element> pChild5 = pDoc->createElement("child5");	pFrag->appendChild(pChild4);	pFrag->appendChild(pChild5);	pRoot->insertBefore(pFrag, pChild6);	assert (pRoot->firstChild() == pChild0);	assert (pRoot->lastChild() == pChild7);	assert (pChild0->previousSibling() == 0);	assert (pChild0->nextSibling() == pChild1);	assert (pChild1->previousSibling() == pChild0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == pChild5);	assert (pChild5->previousSibling() == pChild4);	assert (pChild5->nextSibling() == pChild6);	assert (pChild6->previousSibling() == pChild5);	assert (pChild6->nextSibling() == pChild7);	assert (pChild7->previousSibling() == pChild6);	assert (pChild7->nextSibling() == 0);}void NodeTest::testInsertFragment3(){	AutoPtr<Document> pDoc = new Document;	AutoPtr<Element> pRoot = pDoc->createElement("root");	AutoPtr<DocumentFragment> pFrag = pDoc->createDocumentFragment();	assert (!pRoot->hasChildNodes());	assert (pRoot->firstChild() == 0);	assert (pRoot->lastChild() == 0);	AutoPtr<Element> pChild3 = pDoc->createElement("child3");	AutoPtr<Element> pChild4 = pDoc->createElement("child4");	AutoPtr<Element> pChild5 = pDoc->createElement("child5");	pFrag->appendChild(pChild3);	pFrag->appendChild(pChild4);	pFrag->appendChild(pChild5);	pRoot->insertBefore(pFrag, 0);	assert (pFrag->firstChild() == 0);	assert (pFrag->lastChild() == 0);	assert (pRoot->firstChild() == pChild3);	assert (pRoot->lastChild() == pChild5);		assert (pChild3->previousSibling() == 0);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == pChild5);	assert (pChild5->previousSibling() == pChild4);	assert (pChild5->nextSibling() == 0);		AutoPtr<Element> pChild9  = pDoc->createElement("child9");	AutoPtr<Element> pChild10 = pDoc->createElement("child10");	AutoPtr<Element> pChild11 = pDoc->createElement("child11");	pFrag->appendChild(pChild9);	pFrag->appendChild(pChild10);	pFrag->appendChild(pChild11);	pRoot->insertBefore(pFrag, 0);	assert (pRoot->firstChild() == pChild3);	assert (pRoot->lastChild() == pChild11);	assert (pChild3->previousSibling() == 0);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == pChild5);	assert (pChild5->previousSibling() == pChild4);	assert (pChild5->nextSibling() == pChild9);	assert (pChild9->previousSibling() == pChild5);	assert (pChild9->nextSibling() == pChild10);	assert (pChild10->previousSibling() == pChild9);	assert (pChild10->nextSibling() == pChild11);	assert (pChild11->previousSibling() == pChild10);	assert (pChild11->nextSibling() == 0);	AutoPtr<Element> pChild0 = pDoc->createElement("child0");	AutoPtr<Element> pChild1 = pDoc->createElement("child1");	AutoPtr<Element> pChild2 = pDoc->createElement("child2");	pFrag->appendChild(pChild0);	pFrag->appendChild(pChild1);	pFrag->appendChild(pChild2);	pRoot->insertBefore(pFrag, pChild3);	assert (pRoot->firstChild() == pChild0);	assert (pRoot->lastChild() == pChild11);		assert (pChild0->previousSibling() == 0);	assert (pChild0->nextSibling() == pChild1);	assert (pChild1->previousSibling() == pChild0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == pChild5);	assert (pChild5->previousSibling() == pChild4);	assert (pChild5->nextSibling() == pChild9);	assert (pChild9->previousSibling() == pChild5);	assert (pChild9->nextSibling() == pChild10);	assert (pChild10->previousSibling() == pChild9);	assert (pChild10->nextSibling() == pChild11);	assert (pChild11->previousSibling() == pChild10);	assert (pChild11->nextSibling() == 0);		AutoPtr<Element> pChild6 = pDoc->createElement("child6");	AutoPtr<Element> pChild7 = pDoc->createElement("child7");	AutoPtr<Element> pChild8 = pDoc->createElement("child8");	pFrag->appendChild(pChild6);	pFrag->appendChild(pChild7);	pFrag->appendChild(pChild8);	pRoot->insertBefore(pFrag, pChild9);	assert (pRoot->firstChild() == pChild0);	assert (pRoot->lastChild() == pChild11);	assert (pChild0->previousSibling() == 0);	assert (pChild0->nextSibling() == pChild1);	assert (pChild1->previousSibling() == pChild0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == pChild5);	assert (pChild5->previousSibling() == pChild4);	assert (pChild5->nextSibling() == pChild6);	assert (pChild6->previousSibling() == pChild5);	assert (pChild6->nextSibling() == pChild7);	assert (pChild7->previousSibling() == pChild6);	assert (pChild7->nextSibling() == pChild8);	assert (pChild8->previousSibling() == pChild7);	assert (pChild8->nextSibling() == pChild9);	assert (pChild9->previousSibling() == pChild8);	assert (pChild9->nextSibling() == pChild10);	assert (pChild10->previousSibling() == pChild9);	assert (pChild10->nextSibling() == pChild11);	assert (pChild11->previousSibling() == pChild10);	assert (pChild11->nextSibling() == 0);}void NodeTest::testAppendFragment1(){	AutoPtr<Document> pDoc = new Document;	AutoPtr<Element> pRoot = pDoc->createElement("root");	AutoPtr<DocumentFragment> pFrag = pDoc->createDocumentFragment();		AutoPtr<Element> pChild1 = pDoc->createElement("child1");	pFrag->appendChild(pChild1);	pRoot->appendChild(pFrag);	assert (pFrag->firstChild() == 0);	assert (pFrag->lastChild() == 0);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild1);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == 0);	AutoPtr<Element> pChild2 = pDoc->createElement("child2");	pFrag->appendChild(pChild2);	pRoot->appendChild(pFrag);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild2);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == 0);	AutoPtr<Element> pChild3 = pDoc->createElement("child3");	pFrag->appendChild(pChild3);	pRoot->appendChild(pFrag);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild3);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == 0);}void NodeTest::testAppendFragment2(){	AutoPtr<Document> pDoc = new Document;	AutoPtr<Element> pRoot = pDoc->createElement("root");	AutoPtr<DocumentFragment> pFrag = pDoc->createDocumentFragment();		AutoPtr<Element> pChild1 = pDoc->createElement("child1");	AutoPtr<Element> pChild2 = pDoc->createElement("child2");	pFrag->appendChild(pChild1);	pFrag->appendChild(pChild2);	pRoot->appendChild(pFrag);	assert (pFrag->firstChild() == 0);	assert (pFrag->lastChild() == 0);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild2);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == 0);	AutoPtr<Element> pChild3 = pDoc->createElement("child3");	AutoPtr<Element> pChild4 = pDoc->createElement("child4");	pFrag->appendChild(pChild3);	pFrag->appendChild(pChild4);	pRoot->appendChild(pFrag);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild4);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == 0);	AutoPtr<Element> pChild5 = pDoc->createElement("child5");	AutoPtr<Element> pChild6 = pDoc->createElement("child6");	pFrag->appendChild(pChild5);	pFrag->appendChild(pChild6);	pRoot->appendChild(pFrag);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild6);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == pChild5);	assert (pChild5->previousSibling() == pChild4);	assert (pChild5->nextSibling() == pChild6);	assert (pChild6->previousSibling() == pChild5);	assert (pChild6->nextSibling() == 0);}void NodeTest::testAppendFragment3(){	AutoPtr<Document> pDoc = new Document;	AutoPtr<Element> pRoot = pDoc->createElement("root");	AutoPtr<DocumentFragment> pFrag = pDoc->createDocumentFragment();		AutoPtr<Element> pChild1 = pDoc->createElement("child1");	AutoPtr<Element> pChild2 = pDoc->createElement("child2");	AutoPtr<Element> pChild3 = pDoc->createElement("child3");	pFrag->appendChild(pChild1);	pFrag->appendChild(pChild2);	pFrag->appendChild(pChild3);	pRoot->appendChild(pFrag);	assert (pFrag->firstChild() == 0);	assert (pFrag->lastChild() == 0);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild3);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == 0);	AutoPtr<Element> pChild4 = pDoc->createElement("child4");	AutoPtr<Element> pChild5 = pDoc->createElement("child5");	AutoPtr<Element> pChild6 = pDoc->createElement("child6");	pFrag->appendChild(pChild4);	pFrag->appendChild(pChild5);	pFrag->appendChild(pChild6);	pRoot->appendChild(pFrag);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild6);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == pChild5);	assert (pChild5->previousSibling() == pChild4);	assert (pChild5->nextSibling() == pChild6);	assert (pChild6->previousSibling() == pChild5);	assert (pChild6->nextSibling() == 0);	AutoPtr<Element> pChild7 = pDoc->createElement("child7");	AutoPtr<Element> pChild8 = pDoc->createElement("child8");	AutoPtr<Element> pChild9 = pDoc->createElement("child9");	pFrag->appendChild(pChild7);	pFrag->appendChild(pChild8);	pFrag->appendChild(pChild9);	pRoot->appendChild(pFrag);	assert (pRoot->firstChild() == pChild1);	assert (pRoot->lastChild() == pChild9);	assert (pChild1->previousSibling() == 0);	assert (pChild1->nextSibling() == pChild2);	assert (pChild2->previousSibling() == pChild1);	assert (pChild2->nextSibling() == pChild3);	assert (pChild3->previousSibling() == pChild2);	assert (pChild3->nextSibling() == pChild4);	assert (pChild4->previousSibling() == pChild3);	assert (pChild4->nextSibling() == pChild5);	assert (pChild5->previousSibling() == pChild4);	assert (pChild5->nextSibling() == pChild6);	assert (pChild6->previousSibling() == pChild5);	assert (pChild6->nextSibling() == pChild7);	assert (pChild7->previousSibling() == pChild6);	assert (pChild7->nextSibling() == pChild8);	assert (pChild8->previousSibling() == pChild7);	assert (pChild8->nextSibling() == pChild9);	assert (pChild9->previousSibling() == pChild8);	assert (pChild9->nextSibling() == 0);}void NodeTest::testReplaceFragment1(){	AutoPtr<Document> pDoc = new Document;	AutoPtr<Element> pRoot = pDoc->createElement("root");	AutoPtr<DocumentFragment> pFrag = pDoc->createDocumentFragment();		AutoPtr<Element> pChild1 = pDoc->createElement("child1");	pRoot->appendChild(pChild1);	AutoPtr<Element> pChild2 = pDoc->createElement("child2");

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?