Small clean of subtitles applet code.
[mafwsubrenderer] / qmafw-gst-subtitles-renderer / unittests / ut_PlaylistFileUtility / Ut_PlaylistFileUtility.cpp
1 /* 
2  * This file is part of QMAFW 
3  *
4  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). All rights
5  * reserved.
6  *
7  * Contact: Visa Smolander <visa.smolander@nokia.com>
8  *
9  * This software, including documentation, is protected by copyright controlled
10  * by Nokia Corporation. All rights are reserved. Copying, including
11  * reproducing, storing, adapting or translating, any or all of this material
12  * requires the prior written consent of Nokia Corporation. This material also
13  * contains confidential information which may not be disclosed to others
14  * without the prior written consent of Nokia.
15  *
16  */
17
18 #include <QtTest/QtTest>
19 #include <QDebug>
20 #include <QSignalSpy>
21
22 #include "Ut_PlaylistFileUtility.h"
23 #include "../common/MafwStubHelper.h"
24 #include "MafwGstRendererPlaylistFileUtility.h"
25
26 void Ut_PlaylistFileUtility::initTestCase()
27 {
28     m_stubHelper = new MafwStubHelper;
29     m_utility = new MafwGstRendererPlaylistFileUtility(this);
30 }
31
32 void Ut_PlaylistFileUtility::testParsing()
33 {
34     QString file("/test-station.pls");
35     file.prepend(QDir::currentPath());
36     file.prepend("file://");
37
38     QSignalSpy readySpy(m_utility, SIGNAL(parsingReady(bool)));
39     QSignalSpy parsingSpy(m_utility, SIGNAL(firstItemParsed()));
40     m_utility->parsePlaylistFile(QUrl(file));
41     QTest::qWait(1000);
42
43     QCOMPARE(readySpy.count(), 1);
44     QList<QVariant> arguments = readySpy.takeFirst();
45     QVERIFY(arguments.at(0).toBool() == true);
46     QCOMPARE(parsingSpy.count(), 1);
47
48     //There is 19 entries in test-station.pls file
49     for (int i=0; i<19; i++)
50     {
51         QVERIFY(m_utility->takeFirstUri().length() > 0);
52     }
53
54     QVERIFY(m_utility->takeFirstUri().length() == 0);
55 }
56
57 void Ut_PlaylistFileUtility::testParsingForNotExistingFile()
58 {
59     QString file("/not-existing.pls");
60     file.prepend(QDir::currentPath());
61     file.prepend("file://");
62     QSignalSpy readySpy(m_utility, SIGNAL(parsingReady(bool)));
63     QSignalSpy parsingSpy(m_utility, SIGNAL(firstItemParsed()));
64
65     m_utility->parsePlaylistFile(QUrl(file));
66     QTest::qWait(1000);
67     QCOMPARE(readySpy.count(), 1);
68     QCOMPARE(parsingSpy.count(), 0);
69     QList<QVariant> arguments = readySpy.takeFirst();
70     QVERIFY(arguments.at(0).toBool() == false);
71 }
72
73 void Ut_PlaylistFileUtility::testParsingInvalidFileUri()
74 {
75 //No scheme
76     QString file("/test-station.pls");
77     file.prepend(QDir::currentPath());
78     QSignalSpy parsingSpy(m_utility, SIGNAL(firstItemParsed()));
79     QSignalSpy readySpy(m_utility, SIGNAL(parsingReady(bool)));
80     m_utility->parsePlaylistFile(QUrl(file));
81     QTest::qWait(1000);
82     QCOMPARE(parsingSpy.count(), 0);
83     QCOMPARE(readySpy.count(), 1);
84     QList<QVariant> arguments = readySpy.takeFirst();
85     QVERIFY(arguments.at(0).toBool() == false);
86
87 //Contains only path
88     QString file2(QDir::currentPath());
89     file2.prepend("file://");
90     m_utility->parsePlaylistFile(file2);
91     QTest::qWait(1000);
92     QCOMPARE(parsingSpy.count(), 0);
93     QCOMPARE(readySpy.count(), 1);
94     arguments = readySpy.takeFirst();
95     QVERIFY(arguments.at(0).toBool() == false);
96 }
97
98 void Ut_PlaylistFileUtility::testParsingInvalidFile()
99 {
100     QString file("/test-station_invalid.pls");
101     file.prepend(QDir::currentPath());
102     file.prepend("file://");
103
104     QSignalSpy readySpy(m_utility, SIGNAL(parsingReady(bool)));
105     QSignalSpy parsingSpy(m_utility, SIGNAL(firstItemParsed()));
106     m_utility->parsePlaylistFile(QUrl(file));
107     QTest::qWait(1000);
108
109     QCOMPARE(readySpy.count(), 1);
110     QList<QVariant> arguments = readySpy.takeFirst();
111     QVERIFY(arguments.at(0).toBool() == true);
112     QCOMPARE(parsingSpy.count(), 0);
113
114     QVERIFY(m_utility->takeFirstUri().length() == 0);
115 }
116
117 void Ut_PlaylistFileUtility::testParsingASFFile()
118 {
119     QString file("/test.asf");
120     file.prepend(QDir::currentPath());
121     file.prepend("file://");
122
123     QSignalSpy readySpy(m_utility, SIGNAL(parsingReady(bool)));
124     QSignalSpy parsingSpy(m_utility, SIGNAL(firstItemParsed()));
125     m_utility->parsePlaylistFile(QUrl(file));
126     QTest::qWait(1000);
127
128     QCOMPARE(readySpy.count(), 1);
129     QList<QVariant> arguments = readySpy.takeFirst();
130     QVERIFY(arguments.at(0).toBool() == true);
131     QCOMPARE(parsingSpy.count(), 1);
132
133     for (int i=0; i < 1; i++)
134     {
135         QString test = m_utility->takeFirstUri();
136         QVERIFY(test.length() > 0);
137         QVERIFY(test.startsWith("mmsh://195"));
138         QVERIFY(test.endsWith(".asf"));
139     }
140
141     QVERIFY(m_utility->takeFirstUri().length() == 0);
142 }
143
144 void Ut_PlaylistFileUtility::cleanupTestCase()
145 {
146     delete m_stubHelper;
147 }
148
149 QTEST_MAIN(Ut_PlaylistFileUtility)