void KIOPasteTest::testPasteActionText() { QFETCH(QList<QUrl>, urls); QFETCH(bool, data); QFETCH(bool, expectedEnabled); QFETCH(QString, expectedText); QMimeData mimeData; if (!urls.isEmpty()) { mimeData.setUrls(urls); } if (data) { mimeData.setText(QStringLiteral("foo")); } QCOMPARE(KIO::canPasteMimeData(&mimeData), expectedEnabled); bool canPaste; KFileItem destItem(QUrl::fromLocalFile(QDir::homePath())); QCOMPARE(KIO::pasteActionText(&mimeData, &canPaste, destItem), expectedText); QCOMPARE(canPaste, expectedEnabled); KFileItem nonWritableDestItem(QUrl::fromLocalFile(QStringLiteral("/nonwritable"))); QCOMPARE(KIO::pasteActionText(&mimeData, &canPaste, nonWritableDestItem), expectedText); QCOMPARE(canPaste, false); KFileItem emptyUrlDestItem = KFileItem(QUrl()); QCOMPARE(KIO::pasteActionText(&mimeData, &canPaste, emptyUrlDestItem), expectedText); QCOMPARE(canPaste, false); KFileItem nullDestItem; QCOMPARE(KIO::pasteActionText(&mimeData, &canPaste, nullDestItem), expectedText); QCOMPARE(canPaste, false); }
void AsyncFileTester::checkIfFolder(const QModelIndex &index, QObject *object, const char *method) { if (!index.isValid()) { callResultMethod(object, method, index, false); return; } KFileItem item = static_cast<const ProxyModel*>(index.model())->itemForIndex(index); KUrl url = item.targetUrl(); if (item.isDir()) { callResultMethod(object, method, index, true); return; } if (item.isDesktopFile()) { // Check if the desktop file is a link to a local folder KDesktopFile file(url.path()); if (file.readType() == "Link") { url = file.readUrl(); if (url.isLocalFile()) { KFileItem destItem(KFileItem::Unknown, KFileItem::Unknown, url); callResultMethod(object, method, index, destItem.isDir()); return; } if (KProtocolInfo::protocolClass(url.protocol()) == QString(":local")) { AsyncFileTester *tester = new AsyncFileTester(index, object, method); tester->delayedFolderCheck(url); return; } } } callResultMethod(object, method, index, false); }
// ------------------------------------------------------------------------ // void xBlocksMap::AddLink( u32 pc, JccComparisonType cctype ) { recBlockItem& destItem( _getItem( pc ) ); const xJumpLink& newlink( destItem.DependentLinks.AddNew( xJumpLink( xGetPtr(), cctype ) ) ); newlink.SetTarget( m_xBlockLut[pc / 4] ); if( destItem.x86len != 0 ) { // Sanity Check: if block is already compiled, then the BlockPtr should *not* be dispatcher. jASSUME( m_xBlockLut[pc / 4] != DynFunc::Dispatcher ); } }