void Test_arrayLen() { Buffer testItem(0, nullptr); char* testBuffer[] = { "c","d","a", nullptr }; auto result = testItem.getLength(testBuffer); assert(3 == result); }
Element * findElement (const Queue *queue, ItemTester testItem, const void *data) { if (queue->head) { Element *element = queue->head; do { if (testItem(element->item, data)) return element; } while ((element = element->next) != queue->head); } return NULL; }
QString RdfTest::insertTableWithSemItem(KoTextEditor &editor, KoDocumentRdf &rdfDoc, const QString name) { editor.insertTable(5,10); #define TABLESIZE (5*10) const QTextTable *table = editor.currentTable(); QTextCursor cur(editor.document()); cur.setPosition(table->firstPosition()); KoBookmark *bookmark = new KoBookmark(cur); bookmark->setPositionOnlyMode(false); // we want it to be several chars long KoTextInlineRdf *inlineRdf(new KoTextInlineRdf(editor.document(), bookmark)); QString newId = inlineRdf->createXmlId(); inlineRdf->setXmlId(newId); bookmark->setName(newId); bookmark->setInlineRdf(inlineRdf); KoTextDocument(editor.document()).textRangeManager()->insert(bookmark); editor.setPosition(table->firstPosition()); editor.movePosition(QTextCursor::PreviousCharacter); hTestSemanticItem testItem(new TestSemanticItem(0, &rdfDoc)); testItem->setName(name); Soprano::Statement st( testItem->linkingSubject(), // subject Soprano::Node::createResourceNode(QUrl("http://docs.oasis-open.org/ns/office/1.2/meta/pkg#idref")), // predicate Soprano::Node::createLiteralNode(newId), // object rdfDoc.manifestRdfNode()); // manifest datastore rdfDoc.model()->addStatement(st); rdfDoc.rememberNewInlineRdfObject(inlineRdf); Q_ASSERT(rdfDoc.model()->statementCount() > 0); bookmark->setRangeEnd(table->lastPosition()); return newId; }