1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:GPL-EXCEPT$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU
19** General Public License version 3 as published by the Free Software
20** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
21** included in the packaging of this file. Please review the following
22** information to ensure the GNU General Public License requirements will
23** be met: https://www.gnu.org/licenses/gpl-3.0.html.
24**
25** $QT_END_LICENSE$
26**
27****************************************************************************/
28
29//TESTED_COMPONENT=src/multimedia
30
31#include <QtTest/QtTest>
32
33#include "qmediaresource.h"
34
35QT_USE_NAMESPACE
36class tst_QMediaResource : public QObject
37{
38 Q_OBJECT
39private slots:
40#if QT_DEPRECATED_SINCE(6, 0)
41 void constructNull();
42 void construct_data();
43 void construct();
44 void setResolution();
45 void equality();
46 void copy();
47 void assign();
48
49 void constructorRequest();
50 void copyConstructor();
51#else
52 void initTestCase()
53 {
54 QSKIP("Skipping this test, QMediaResource is deprecated.");
55 }
56#endif
57};
58
59#if QT_DEPRECATED_SINCE(6, 0)
60void tst_QMediaResource::constructNull()
61{
62 QMediaResource resource;
63
64 QCOMPARE(resource.isNull(), true);
65 QCOMPARE(resource.url(), QUrl());
66 QCOMPARE(resource.request(), QNetworkRequest());
67 QCOMPARE(resource.mimeType(), QString());
68 QCOMPARE(resource.language(), QString());
69 QCOMPARE(resource.audioCodec(), QString());
70 QCOMPARE(resource.videoCodec(), QString());
71 QCOMPARE(resource.dataSize(), qint64(0));
72 QCOMPARE(resource.audioBitRate(), 0);
73 QCOMPARE(resource.sampleRate(), 0);
74 QCOMPARE(resource.channelCount(), 0);
75 QCOMPARE(resource.videoBitRate(), 0);
76 QCOMPARE(resource.resolution(), QSize());
77}
78
79void tst_QMediaResource::construct_data()
80{
81 QTest::addColumn<QUrl>(name: "url");
82 QTest::addColumn<QNetworkRequest>(name: "request");
83 QTest::addColumn<QString>(name: "mimeType");
84 QTest::addColumn<QString>(name: "language");
85 QTest::addColumn<QString>(name: "audioCodec");
86 QTest::addColumn<QString>(name: "videoCodec");
87 QTest::addColumn<qint64>(name: "dataSize");
88 QTest::addColumn<int>(name: "audioBitRate");
89 QTest::addColumn<int>(name: "sampleRate");
90 QTest::addColumn<int>(name: "channelCount");
91 QTest::addColumn<int>(name: "videoBitRate");
92 QTest::addColumn<QSize>(name: "resolution");
93
94 QTest::newRow(dataTag: "audio content")
95 << QUrl(QString::fromLatin1(str: "http:://test.com/test.mp3"))
96 << QNetworkRequest(QUrl(QString::fromLatin1(str: "http:://test.com/test.mp3")))
97 << QString::fromLatin1(str: "audio/mpeg")
98 << QString::fromLatin1(str: "eng")
99 << QString::fromLatin1(str: "mp3")
100 << QString()
101 << qint64(5465433)
102 << 128000
103 << 44100
104 << 2
105 << 0
106 << QSize();
107 QTest::newRow(dataTag: "image content")
108 << QUrl(QString::fromLatin1(str: "http:://test.com/test.jpg"))
109 << QNetworkRequest(QUrl(QString::fromLatin1(str: "http:://test.com/test.jpg")))
110 << QString::fromLatin1(str: "image/jpeg")
111 << QString()
112 << QString()
113 << QString()
114 << qint64(23600)
115 << 0
116 << 0
117 << 0
118 << 0
119 << QSize(640, 480);
120 QTest::newRow(dataTag: "video content")
121 << QUrl(QString::fromLatin1(str: "http:://test.com/test.mp4"))
122 << QNetworkRequest(QUrl(QString::fromLatin1(str: "http:://test.com/test.mp4")))
123 << QString::fromLatin1(str: "video/mp4")
124 << QString()
125 << QString::fromLatin1(str: "aac")
126 << QString::fromLatin1(str: "h264")
127 << qint64(36245851)
128 << 96000
129 << 44000
130 << 5
131 << 750000
132 << QSize(720, 576);
133 QTest::newRow(dataTag: "thumbnail")
134 << QUrl(QString::fromLatin1(str: "file::///thumbs/test.png"))
135 << QNetworkRequest(QUrl(QString::fromLatin1(str: "file::///thumbs/test.png")))
136 << QString::fromLatin1(str: "image/png")
137 << QString()
138 << QString()
139 << QString()
140 << qint64(2360)
141 << 0
142 << 0
143 << 0
144 << 0
145 << QSize(128, 128);
146}
147
148void tst_QMediaResource::construct()
149{
150 QFETCH(QUrl, url);
151 QFETCH(QNetworkRequest, request);
152 QFETCH(QString, mimeType);
153 QFETCH(QString, language);
154 QFETCH(QString, audioCodec);
155 QFETCH(QString, videoCodec);
156 QFETCH(qint64, dataSize);
157 QFETCH(int, audioBitRate);
158 QFETCH(int, sampleRate);
159 QFETCH(int, channelCount);
160 QFETCH(int, videoBitRate);
161 QFETCH(QSize, resolution);
162
163 {
164 QMediaResource resource(url);
165
166 QCOMPARE(resource.isNull(), false);
167 QCOMPARE(resource.url(), url);
168 QCOMPARE(resource.mimeType(), QString());
169 QCOMPARE(resource.language(), QString());
170 QCOMPARE(resource.audioCodec(), QString());
171 QCOMPARE(resource.videoCodec(), QString());
172 QCOMPARE(resource.dataSize(), qint64(0));
173 QCOMPARE(resource.audioBitRate(), 0);
174 QCOMPARE(resource.sampleRate(), 0);
175 QCOMPARE(resource.channelCount(), 0);
176 QCOMPARE(resource.videoBitRate(), 0);
177 QCOMPARE(resource.resolution(), QSize());
178 }
179 {
180 QMediaResource resource(url, mimeType);
181
182 QCOMPARE(resource.isNull(), false);
183 QCOMPARE(resource.url(), url);
184 QCOMPARE(resource.request(), request);
185 QCOMPARE(resource.mimeType(), mimeType);
186 QCOMPARE(resource.language(), QString());
187 QCOMPARE(resource.audioCodec(), QString());
188 QCOMPARE(resource.videoCodec(), QString());
189 QCOMPARE(resource.dataSize(), qint64(0));
190 QCOMPARE(resource.audioBitRate(), 0);
191 QCOMPARE(resource.sampleRate(), 0);
192 QCOMPARE(resource.channelCount(), 0);
193 QCOMPARE(resource.videoBitRate(), 0);
194 QCOMPARE(resource.resolution(), QSize());
195
196 resource.setLanguage(language);
197 resource.setAudioCodec(audioCodec);
198 resource.setVideoCodec(videoCodec);
199 resource.setDataSize(dataSize);
200 resource.setAudioBitRate(audioBitRate);
201 resource.setSampleRate(sampleRate);
202 resource.setChannelCount(channelCount);
203 resource.setVideoBitRate(videoBitRate);
204 resource.setResolution(resolution);
205
206 QCOMPARE(resource.language(), language);
207 QCOMPARE(resource.audioCodec(), audioCodec);
208 QCOMPARE(resource.videoCodec(), videoCodec);
209 QCOMPARE(resource.dataSize(), dataSize);
210 QCOMPARE(resource.audioBitRate(), audioBitRate);
211 QCOMPARE(resource.sampleRate(), sampleRate);
212 QCOMPARE(resource.channelCount(), channelCount);
213 QCOMPARE(resource.videoBitRate(), videoBitRate);
214 QCOMPARE(resource.resolution(), resolution);
215 }
216 {
217 QMediaResource resource(request, mimeType);
218
219 QCOMPARE(resource.isNull(), false);
220 QCOMPARE(resource.url(), url);
221 QCOMPARE(resource.request(), request);
222 QCOMPARE(resource.mimeType(), mimeType);
223 QCOMPARE(resource.language(), QString());
224 QCOMPARE(resource.audioCodec(), QString());
225 QCOMPARE(resource.videoCodec(), QString());
226 QCOMPARE(resource.dataSize(), qint64(0));
227 QCOMPARE(resource.audioBitRate(), 0);
228 QCOMPARE(resource.sampleRate(), 0);
229 QCOMPARE(resource.channelCount(), 0);
230 QCOMPARE(resource.videoBitRate(), 0);
231 QCOMPARE(resource.resolution(), QSize());
232
233 resource.setLanguage(language);
234 resource.setAudioCodec(audioCodec);
235 resource.setVideoCodec(videoCodec);
236 resource.setDataSize(dataSize);
237 resource.setAudioBitRate(audioBitRate);
238 resource.setSampleRate(sampleRate);
239 resource.setChannelCount(channelCount);
240 resource.setVideoBitRate(videoBitRate);
241 resource.setResolution(resolution);
242
243 QCOMPARE(resource.language(), language);
244 QCOMPARE(resource.audioCodec(), audioCodec);
245 QCOMPARE(resource.videoCodec(), videoCodec);
246 QCOMPARE(resource.dataSize(), dataSize);
247 QCOMPARE(resource.audioBitRate(), audioBitRate);
248 QCOMPARE(resource.sampleRate(), sampleRate);
249 QCOMPARE(resource.channelCount(), channelCount);
250 QCOMPARE(resource.videoBitRate(), videoBitRate);
251 QCOMPARE(resource.resolution(), resolution);
252 }
253}
254
255void tst_QMediaResource::setResolution()
256{
257 QMediaResource resource(
258 QUrl(QString::fromLatin1(str: "file::///thumbs/test.png")),
259 QString::fromLatin1(str: "image/png"));
260
261 QCOMPARE(resource.resolution(), QSize());
262
263 resource.setResolution(QSize(120, 80));
264 QCOMPARE(resource.resolution(), QSize(120, 80));
265
266 resource.setResolution(QSize(-1, 23));
267 QCOMPARE(resource.resolution(), QSize(-1, 23));
268
269 resource.setResolution(QSize(-43, 34));
270 QCOMPARE(resource.resolution(), QSize(-43, 34));
271
272 resource.setResolution(QSize(64, -1));
273 QCOMPARE(resource.resolution(), QSize(64, -1));
274
275 resource.setResolution(QSize(64, -83));
276 QCOMPARE(resource.resolution(), QSize(64, -83));
277
278 resource.setResolution(QSize(-12, -83));
279 QCOMPARE(resource.resolution(), QSize(-12, -83));
280
281 resource.setResolution(QSize());
282 QCOMPARE(resource.resolution(), QSize(-1, -1));
283
284 resource.setResolution(width: 120, height: 80);
285 QCOMPARE(resource.resolution(), QSize(120, 80));
286
287 resource.setResolution(width: -1, height: 23);
288 QCOMPARE(resource.resolution(), QSize(-1, 23));
289
290 resource.setResolution(width: -43, height: 34);
291 QCOMPARE(resource.resolution(), QSize(-43, 34));
292
293 resource.setResolution(width: 64, height: -1);
294 QCOMPARE(resource.resolution(), QSize(64, -1));
295
296 resource.setResolution(width: 64, height: -83);
297 QCOMPARE(resource.resolution(), QSize(64, -83));
298
299 resource.setResolution(width: -12, height: -83);
300 QCOMPARE(resource.resolution(), QSize(-12, -83));
301
302 resource.setResolution(width: -1, height: -1);
303 QCOMPARE(resource.resolution(), QSize());
304}
305
306void tst_QMediaResource::equality()
307{
308 QMediaResource resource1(
309 QUrl(QString::fromLatin1(str: "http://test.com/test.mp4")),
310 QString::fromLatin1(str: "video/mp4"));
311 QMediaResource resource2(
312 QUrl(QString::fromLatin1(str: "http://test.com/test.mp4")),
313 QString::fromLatin1(str: "video/mp4"));
314 QMediaResource resource3(
315 QUrl(QString::fromLatin1(str: "file:///thumbs/test.jpg")));
316 QMediaResource resource4(
317 QUrl(QString::fromLatin1(str: "file:///thumbs/test.jpg")));
318 QMediaResource resource5(
319 QUrl(QString::fromLatin1(str: "http://test.com/test.mp3")),
320 QString::fromLatin1(str: "audio/mpeg"));
321
322 QNetworkRequest request(QUrl("http://test.com/test.mp3"));
323 QString requestMimeType("audio/mp3");
324
325 QMediaResource requestResource1(request, requestMimeType);
326 QMediaResource requestResource2(request, requestMimeType);
327
328 QCOMPARE(requestResource1 == requestResource2, true);
329 QCOMPARE(requestResource1 != requestResource2, false);
330 QCOMPARE(requestResource1 != resource5, true);
331
332 QCOMPARE(resource1 == resource2, true);
333 QCOMPARE(resource1 != resource2, false);
334
335 QCOMPARE(resource3 == resource4, true);
336 QCOMPARE(resource3 != resource4, false);
337
338 QCOMPARE(resource1 == resource3, false);
339 QCOMPARE(resource1 != resource3, true);
340
341 QCOMPARE(resource1 == resource5, false);
342 QCOMPARE(resource1 != resource5, true);
343
344 resource1.setAudioCodec(QString::fromLatin1(str: "mp3"));
345 resource2.setAudioCodec(QString::fromLatin1(str: "aac"));
346
347 // Not equal differing audio codecs.
348 QCOMPARE(resource1 == resource2, false);
349 QCOMPARE(resource1 != resource2, true);
350
351 resource1.setAudioCodec(QString::fromLatin1(str: "aac"));
352
353 // Equal.
354 QCOMPARE(resource1 == resource2, true);
355 QCOMPARE(resource1 != resource2, false);
356
357 resource1.setVideoCodec(QString());
358
359 // Equal.
360 QCOMPARE(resource1 == resource2, true);
361 QCOMPARE(resource1 != resource2, false);
362
363 resource1.setVideoCodec(QString::fromLatin1(str: "h264"));
364
365 // Not equal differing video codecs.
366 QCOMPARE(resource1 == resource2, false);
367 QCOMPARE(resource1 != resource2, true);
368
369 resource2.setVideoCodec(QString::fromLatin1(str: "h264"));
370
371 // Equal.
372 QCOMPARE(resource1 == resource2, true);
373 QCOMPARE(resource1 != resource2, false);
374
375 resource2.setDataSize(0);
376
377 // Equal.
378 QCOMPARE(resource1 == resource2, true);
379 QCOMPARE(resource1 != resource2, false);
380
381 resource1.setDataSize(546423);
382
383 // Not equal differing video codecs.
384 QCOMPARE(resource1 == resource2, false);
385 QCOMPARE(resource1 != resource2, true);
386
387 resource2.setDataSize(546423);
388
389 // Equal.
390 QCOMPARE(resource1 == resource2, true);
391 QCOMPARE(resource1 != resource2, false);
392
393 resource1.setAudioBitRate(96000);
394 resource1.setSampleRate(48000);
395 resource2.setSampleRate(44100);
396 resource1.setChannelCount(0);
397 resource1.setVideoBitRate(900000);
398 resource2.setLanguage(QString::fromLatin1(str: "eng"));
399
400 // Not equal, audio bit rate, sample rate, video bit rate, and
401 // language.
402 QCOMPARE(resource1 == resource2, false);
403 QCOMPARE(resource1 != resource2, true);
404
405 resource2.setAudioBitRate(96000);
406 resource1.setSampleRate(44100);
407
408 // Not equal, differing video bit rate, and language.
409 QCOMPARE(resource1 == resource2, false);
410 QCOMPARE(resource1 != resource2, true);
411
412 resource2.setVideoBitRate(900000);
413 resource1.setLanguage(QString::fromLatin1(str: "eng"));
414
415 // Equal
416 QCOMPARE(resource1 == resource2, true);
417 QCOMPARE(resource1 != resource2, false);
418
419 resource1.setResolution(QSize());
420
421 // Equal
422 QCOMPARE(resource1 == resource2, true);
423 QCOMPARE(resource1 != resource2, false);
424
425 resource2.setResolution(width: -1, height: -1);
426
427 // Equal
428 QCOMPARE(resource1 == resource2, true);
429 QCOMPARE(resource1 != resource2, false);
430
431 resource1.setResolution(QSize(-640, -480));
432
433 // Not equal, differing resolution.
434 QCOMPARE(resource1 == resource2, false);
435 QCOMPARE(resource1 != resource2, true);
436 resource1.setResolution(QSize(640, 480));
437 resource2.setResolution(QSize(800, 600));
438
439 // Not equal, differing resolution.
440 QCOMPARE(resource1 == resource2, false);
441 QCOMPARE(resource1 != resource2, true);
442
443 resource1.setResolution(width: 800, height: 600);
444
445 // Equal
446 QCOMPARE(resource1 == resource2, true);
447 QCOMPARE(resource1 != resource2, false);
448
449 /* equality tests for constructor of QMediaresource(QNetworkrequest,mimeType)*/
450 QNetworkRequest request2(QUrl(QString::fromLatin1(str: "http://test.com/test.mp4")));
451 QUrl url(QString::fromLatin1(str: "http://test.com/test.mp4"));
452 QString mimeType(QLatin1String("video/mp4"));
453
454 QMediaResource resource6(request2,mimeType);
455 QMediaResource resource7(request2,mimeType);
456
457
458 QVERIFY(resource6.request()==request2);
459 QVERIFY(resource6.mimeType()==mimeType);
460
461
462 QVERIFY(resource7.request()==request2);
463 QVERIFY(resource7.mimeType()==mimeType);
464
465 QVERIFY(resource6.request()==resource7.request());
466 QVERIFY(resource6.mimeType()==resource7.mimeType());
467
468 QVERIFY(resource6==resource7);
469
470 /*for copy constructor*/
471 QMediaResource resource8(resource7);
472
473 QVERIFY(resource8.request()==request2);
474 QVERIFY(resource8.mimeType()==mimeType);
475
476
477 QVERIFY(resource7.request()==request2);
478 QVERIFY(resource7.mimeType()==mimeType);
479
480 QVERIFY(resource8.request()==resource7.request());
481 QVERIFY(resource8.mimeType()==resource7.mimeType());
482
483
484 QVERIFY(resource8==resource7);
485
486 /*for assign constructor*/
487
488 QMediaResource resource9(request2,mimeType);
489
490 QMediaResource resource10=resource9;
491
492 QVERIFY(resource10.request()==request2);
493 QVERIFY(resource10.mimeType()==mimeType);
494
495
496 QVERIFY(resource9.request()==request2);
497 QVERIFY(resource9.mimeType()==mimeType);
498
499 QVERIFY(resource8.request()==resource7.request());
500 QVERIFY(resource8.mimeType()==resource7.mimeType());
501
502 QVERIFY(resource8==resource7);
503}
504
505void tst_QMediaResource::copy()
506{
507 const QUrl url(QString::fromLatin1(str: "http://test.com/test.mp4"));
508 const QString mimeType(QLatin1String("video/mp4"));
509 const QString amrCodec(QLatin1String("amr"));
510 const QString mp3Codec(QLatin1String("mp3"));
511 const QString aacCodec(QLatin1String("aac"));
512 const QString h264Codec(QLatin1String("h264"));
513
514 QMediaResource original(url, mimeType);
515 original.setAudioCodec(amrCodec);
516
517 QMediaResource copy(original);
518
519 QCOMPARE(copy.url(), url);
520 QCOMPARE(copy.mimeType(), mimeType);
521 QCOMPARE(copy.audioCodec(), amrCodec);
522
523 QCOMPARE(original == copy, true);
524 QCOMPARE(original != copy, false);
525
526 original.setAudioCodec(mp3Codec);
527
528 QCOMPARE(copy.audioCodec(), amrCodec);
529 QCOMPARE(original == copy, false);
530 QCOMPARE(original != copy, true);
531
532 copy.setAudioCodec(aacCodec);
533 copy.setVideoCodec(h264Codec);
534
535 QCOMPARE(copy.url(), url);
536 QCOMPARE(copy.mimeType(), mimeType);
537
538 QCOMPARE(original.audioCodec(), mp3Codec);
539}
540
541void tst_QMediaResource::assign()
542{
543 const QUrl url(QString::fromLatin1(str: "http://test.com/test.mp4"));
544 const QString mimeType(QLatin1String("video/mp4"));
545 const QString amrCodec(QLatin1String("amr"));
546 const QString mp3Codec(QLatin1String("mp3"));
547 const QString aacCodec(QLatin1String("aac"));
548 const QString h264Codec(QLatin1String("h264"));
549
550 QNetworkRequest request(QUrl(QString::fromLatin1(str: "http://test.com/test.mp4")));
551 const qint64 dataSize(23600);
552 int audioBitRate = 1, sampleRate = 2, channelCount = 3, videoBitRate = 4;
553 QSize resolution(QSize(640, 480));
554 QString language("eng");
555
556 QMediaResource copy(QUrl(QString::fromLatin1(str: "file:///thumbs/test.jpg")));
557
558 QMediaResource original(url, mimeType);
559 original.setAudioCodec(amrCodec);
560
561 copy = original;
562
563 QCOMPARE(copy.url(), url);
564 QCOMPARE(copy.mimeType(), mimeType);
565 QCOMPARE(copy.audioCodec(), amrCodec);
566
567 QCOMPARE(original == copy, true);
568 QCOMPARE(original != copy, false);
569
570 original.setAudioCodec(mp3Codec);
571
572 QCOMPARE(copy.audioCodec(), amrCodec);
573 QCOMPARE(original == copy, false);
574 QCOMPARE(original != copy, true);
575
576 copy.setAudioCodec(aacCodec);
577 copy.setVideoCodec(h264Codec);
578
579 QCOMPARE(copy.url(), url);
580 QCOMPARE(copy.mimeType(), mimeType);
581
582 QCOMPARE(original.audioCodec(), mp3Codec);
583
584 /* for constructor of QMediaresource(QNetworkrequest,mimeType)*/
585
586 QMediaResource copy1(QNetworkRequest(QUrl(QString::fromLatin1(str: "file:///thumbs/test.jpg"))));
587
588 QMediaResource original1(request, mimeType);
589
590 original1.setAudioCodec(amrCodec);
591 original1.setLanguage(QString("eng"));
592 original1.setVideoCodec(h264Codec);
593 original1.setDataSize(dataSize);
594 original1.setAudioBitRate(audioBitRate);
595 original1.setSampleRate(sampleRate);
596 original1.setChannelCount(channelCount);
597 original1.setVideoBitRate(videoBitRate);
598 original1.setResolution(resolution);
599
600 copy1 = original1;
601
602 QCOMPARE(original1 == copy1, true);
603}
604
605// Constructor for request without passing mimetype.
606void tst_QMediaResource::constructorRequest()
607{
608 //Initialise the request and url.
609 QNetworkRequest request(QUrl(QString::fromLatin1(str: "http:://test.com/test.mp3")));
610 QUrl url(QString::fromLatin1(str: "http:://test.com/test.mp3"));
611
612 // Create the instance with request as parameter.
613 QMediaResource resource(request);
614
615 // Verify all the parameters of objects.
616 QCOMPARE(resource.isNull(), false);
617 QCOMPARE(resource.url(), url);
618 QCOMPARE(resource.request(), request);
619 QCOMPARE(resource.mimeType(), QString());
620 QCOMPARE(resource.language(), QString());
621 QCOMPARE(resource.audioCodec(), QString());
622 QCOMPARE(resource.videoCodec(), QString());
623 QCOMPARE(resource.dataSize(), qint64(0));
624 QCOMPARE(resource.audioBitRate(), 0);
625 QCOMPARE(resource.sampleRate(), 0);
626 QCOMPARE(resource.channelCount(), 0);
627 QCOMPARE(resource.videoBitRate(), 0);
628 QCOMPARE(resource.resolution(), QSize());
629}
630
631// Copy constructor with all the parameter and copy constructor for constructor with request and mimetype as parameter.
632void tst_QMediaResource::copyConstructor()
633{
634 // Initialise all the parameters.
635 const QUrl url(QString::fromLatin1(str: "http://test.com/test.mp4"));
636 const QString mimeType(QLatin1String("video/mp4"));
637 const QString amrCodec(QLatin1String("amr"));
638 const QString h264Codec(QLatin1String("h264"));
639
640 const qint64 dataSize(23600);
641 int audioBitRate = 1, sampleRate = 2, channelCount = 3, videoBitRate = 4;
642 QSize resolution(QSize(640, 480));
643 QString language("eng");
644
645 // Create the instance with url and mimetype.
646 QMediaResource original(url, mimeType);
647
648 // Set all the parameters.
649 original.setAudioCodec(amrCodec);
650 original.setLanguage(QString("eng"));
651 original.setVideoCodec(h264Codec);
652 original.setDataSize(dataSize);
653 original.setAudioBitRate(audioBitRate);
654 original.setSampleRate(sampleRate);
655 original.setChannelCount(channelCount);
656 original.setVideoBitRate(videoBitRate);
657 original.setResolution(resolution);
658
659 // Copy the instance to new object.
660 QMediaResource copy(original);
661
662 // Verify all the parameters of the copied object.
663 QCOMPARE(copy.url(), url);
664 QCOMPARE(copy.mimeType(), mimeType);
665 QCOMPARE(copy.audioCodec(), amrCodec);
666 QCOMPARE(copy.language(), language );
667 QCOMPARE(copy.videoCodec(), h264Codec);
668 QCOMPARE(copy.dataSize(), dataSize);
669 QCOMPARE(copy.audioBitRate(), audioBitRate);
670 QCOMPARE(copy.sampleRate(), sampleRate);
671 QCOMPARE(copy.channelCount(), channelCount);
672 QCOMPARE(copy.videoBitRate(), videoBitRate);
673 QCOMPARE(copy.resolution(), resolution);
674
675 // Compare both the objects are equal.
676 QCOMPARE(original == copy, true);
677 QCOMPARE(original != copy, false);
678
679 // Initialise the request parameter.
680 QNetworkRequest request1(QUrl(QString::fromLatin1(str: "http://test.com/test.mp4")));
681
682 // Constructor with rerquest and mimetype.
683 QMediaResource original1(request1, mimeType);
684
685 // Copy the object and verify if both are eqaul or not.
686 QMediaResource copy1(original1);
687 QCOMPARE(copy1.url(), url);
688 QCOMPARE(copy1.mimeType(), mimeType);
689 QCOMPARE(copy1.request(), request1);
690 QCOMPARE(original1 == copy1, true);
691}
692
693#endif // QT_DEPRECATED_SINCE(6, 0)
694
695QTEST_MAIN(tst_QMediaResource)
696
697#include "tst_qmediaresource.moc"
698

source code of qtmultimedia/tests/auto/unit/qmediaresource/tst_qmediaresource.cpp