void tst_QGalleryResource::copy() { const int sampleRateKey = 3; const int audioCodecKey = 6; const int videoCodecKey = 9; const QUrl url1("file:///a/local/video/file.m4v"); const QUrl url2("http://example.com/video.mpg"); QMap<int, QVariant> attributes1; attributes1.insert(sampleRateKey, 44100); attributes1.insert(audioCodecKey, QLatin1String("aac")); attributes1.insert(videoCodecKey, QLatin1String("h264")); QMap<int, QVariant> attributes2; attributes2.insert(sampleRateKey, 22050); QGalleryResource resource1(url1); QGalleryResource resource2(url1, attributes1); QGalleryResource resource3(url2, attributes2); QCOMPARE(resource1.url(), url1); QCOMPARE(resource1.attributes().isEmpty(), true); QCOMPARE(resource2.url(), url1); QCOMPARE(resource2.attributes(), attributes1); QCOMPARE(resource3.url(), url2); QCOMPARE(resource3.attributes(), attributes2); resource1 = resource2; QCOMPARE(resource1.url(), url1); QCOMPARE(resource1.attributes(), attributes1); resource2 = resource3; QCOMPARE(resource2.url(), url2); QCOMPARE(resource2.attributes(), attributes2); }
void tst_QMediaResource::equality() { QMediaResource resource1( QUrl(QString::fromLatin1("http://test.com/test.mp4")), QString::fromLatin1("video/mp4")); QMediaResource resource2( QUrl(QString::fromLatin1("http://test.com/test.mp4")), QString::fromLatin1("video/mp4")); QMediaResource resource3( QUrl(QString::fromLatin1("file:///thumbs/test.jpg"))); QMediaResource resource4( QUrl(QString::fromLatin1("file:///thumbs/test.jpg"))); QMediaResource resource5( QUrl(QString::fromLatin1("http://test.com/test.mp3")), QString::fromLatin1("audio/mpeg")); QNetworkRequest request(QUrl("http://test.com/test.mp3")); QString requestMimeType("audio/mp3"); QMediaResource requestResource1(request, requestMimeType); QMediaResource requestResource2(request, requestMimeType); QCOMPARE(requestResource1 == requestResource2, true); QCOMPARE(requestResource1 != requestResource2, false); QCOMPARE(requestResource1 != resource5, true); QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); QCOMPARE(resource3 == resource4, true); QCOMPARE(resource3 != resource4, false); QCOMPARE(resource1 == resource3, false); QCOMPARE(resource1 != resource3, true); QCOMPARE(resource1 == resource5, false); QCOMPARE(resource1 != resource5, true); resource1.setAudioCodec(QString::fromLatin1("mp3")); resource2.setAudioCodec(QString::fromLatin1("aac")); // Not equal differing audio codecs. QCOMPARE(resource1 == resource2, false); QCOMPARE(resource1 != resource2, true); resource1.setAudioCodec(QString::fromLatin1("aac")); // Equal. QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); resource1.setVideoCodec(QString()); // Equal. QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); resource1.setVideoCodec(QString::fromLatin1("h264")); // Not equal differing video codecs. QCOMPARE(resource1 == resource2, false); QCOMPARE(resource1 != resource2, true); resource2.setVideoCodec(QString::fromLatin1("h264")); // Equal. QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); resource2.setDataSize(0); // Equal. QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); resource1.setDataSize(546423); // Not equal differing video codecs. QCOMPARE(resource1 == resource2, false); QCOMPARE(resource1 != resource2, true); resource2.setDataSize(546423); // Equal. QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); resource1.setAudioBitRate(96000); resource1.setSampleRate(48000); resource2.setSampleRate(44100); resource1.setChannelCount(0); resource1.setVideoBitRate(900000); resource2.setLanguage(QString::fromLatin1("eng")); // Not equal, audio bit rate, sample rate, video bit rate, and // language. QCOMPARE(resource1 == resource2, false); QCOMPARE(resource1 != resource2, true); resource2.setAudioBitRate(96000); resource1.setSampleRate(44100); // Not equal, differing video bit rate, and language. QCOMPARE(resource1 == resource2, false); QCOMPARE(resource1 != resource2, true); resource2.setVideoBitRate(900000); resource1.setLanguage(QString::fromLatin1("eng")); // Equal QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); resource1.setResolution(QSize()); // Equal QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); resource2.setResolution(-1, -1); // Equal QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); resource1.setResolution(QSize(-640, -480)); // Not equal, differing resolution. QCOMPARE(resource1 == resource2, false); QCOMPARE(resource1 != resource2, true); resource1.setResolution(QSize(640, 480)); resource2.setResolution(QSize(800, 600)); // Not equal, differing resolution. QCOMPARE(resource1 == resource2, false); QCOMPARE(resource1 != resource2, true); resource1.setResolution(800, 600); // Equal QCOMPARE(resource1 == resource2, true); QCOMPARE(resource1 != resource2, false); /* equality tests for constructor of QMediaresource(QNetworkrequest,mimeType)*/ QNetworkRequest request2(QUrl(QString::fromLatin1("http://test.com/test.mp4"))); QUrl url(QString::fromLatin1("http://test.com/test.mp4")); QString mimeType(QLatin1String("video/mp4")); QMediaResource resource6(request2,mimeType); QMediaResource resource7(request2,mimeType); QVERIFY(resource6.request()==request2); QVERIFY(resource6.mimeType()==mimeType); QVERIFY(resource7.request()==request2); QVERIFY(resource7.mimeType()==mimeType); QVERIFY(resource6.request()==resource7.request()); QVERIFY(resource6.mimeType()==resource7.mimeType()); QVERIFY(resource6==resource7); /*for copy constructor*/ QMediaResource resource8(resource7); QVERIFY(resource8.request()==request2); QVERIFY(resource8.mimeType()==mimeType); QVERIFY(resource7.request()==request2); QVERIFY(resource7.mimeType()==mimeType); QVERIFY(resource8.request()==resource7.request()); QVERIFY(resource8.mimeType()==resource7.mimeType()); QVERIFY(resource8==resource7); /*for assign constructor*/ QMediaResource resource9(request2,mimeType); QMediaResource resource10=resource9; QVERIFY(resource10.request()==request2); QVERIFY(resource10.mimeType()==mimeType); QVERIFY(resource9.request()==request2); QVERIFY(resource9.mimeType()==mimeType); QVERIFY(resource8.request()==resource7.request()); QVERIFY(resource8.mimeType()==resource7.mimeType()); QVERIFY(resource8==resource7); }