📄 nodetest.cpp.svn-base
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -