diff options
Diffstat (limited to 'tests/ut_mvideowidget/ut_mvideowidget.cpp')
-rw-r--r-- | tests/ut_mvideowidget/ut_mvideowidget.cpp | 272 |
1 files changed, 0 insertions, 272 deletions
diff --git a/tests/ut_mvideowidget/ut_mvideowidget.cpp b/tests/ut_mvideowidget/ut_mvideowidget.cpp deleted file mode 100644 index bddadf29..00000000 --- a/tests/ut_mvideowidget/ut_mvideowidget.cpp +++ /dev/null @@ -1,272 +0,0 @@ -/*************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (directui@nokia.com) -** -** This file is part of libmeegotouch. -** -** If you have questions regarding the use of this file, please contact -** Nokia at directui@nokia.com. -** -** This library is free software; you can redistribute it and/or -** modify it under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation -** and appearing in the file LICENSE.LGPL included in the packaging -** of this file. -** -****************************************************************************/ - -#include "ut_mvideowidget.h" -#include "mvideowidget.h" -#include "mvideowidgetview.h" - -#include <mapplication.h> - -ut_mvideowidget::ut_mvideowidget() - : m_subject(NULL), - app(NULL), - ready(false) -{ -} - -ut_mvideowidget::~ut_mvideowidget() -{ -} - -bool ut_mvideowidget::waitVideoReady(int msec) -{ - ready = false; - QTime t; - t.start(); - while( !ready && t.elapsed() < msec ) { - usleep(100000); - QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 500); - } - return ready; -} - -bool ut_mvideowidget::waitPositionChange(int msec) -{ - QTime t; - t.start(); - quint64 pos = m_subject->position(); - while( m_subject->position() == pos && t.elapsed() < msec ) { - qDebug() << pos << m_subject->position(); - usleep(100000); - QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 500); - } - qDebug() << pos << m_subject->position(); - return m_subject->position() != pos; -} - -bool ut_mvideowidget::waitPositionFreeze(int msec) -{ - QTime t; - t.start(); - quint64 pos = m_subject->position(); - int count = 0; - do { - pos = m_subject->position(); - usleep(100000); - QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 500); - if( m_subject->position() == pos ) - count++; - else - count = 0; - qDebug() << pos << m_subject->position(); - } while( count < 2 && t.elapsed() < msec ); - - return m_subject->position() == pos; -} - -void ut_mvideowidget::videoReady() -{ - ready = true; -} - -void ut_mvideowidget::init() -{ - m_subject = new MVideoWidget(); - m_subject->setView(new MVideoWidgetView(m_subject)); - connect(m_subject, SIGNAL(videoReady()), - this, SLOT(videoReady())); -} - -void ut_mvideowidget::cleanup() -{ - delete m_subject; -} - -void ut_mvideowidget::initTestCase() -{ -#define MAX_PARAMS 8 - static char *argv[MAX_PARAMS]; - static int argc = 2; - - argv[0] = strdup("./ut_mbutton"); - argv[1] = strdup("-software"); - - app = new MApplication(argc, argv); - - free(argv[0]); - free(argv[1]); -} - -void ut_mvideowidget::cleanupTestCase() -{ - delete app; -} - -void ut_mvideowidget::testInitialState() -{ - QCOMPARE(m_subject->state(), MVideo::NotReady); -} - -void ut_mvideowidget::testBogusOpen() -{ - QSignalSpy videoReadySpy(m_subject, SIGNAL(videoReady())); - m_subject->open(QString("bogusdata")); - waitVideoReady(); - - QCOMPARE(videoReadySpy.count(), 0); - QCOMPARE(m_subject->state(), MVideo::NotReady); -} - -void ut_mvideowidget::testOpen() -{ - QSignalSpy videoReadySpy(m_subject, SIGNAL(videoReady())); - m_subject->open(QString(qApp->applicationDirPath() + "/test.mov")); - waitVideoReady(); - - QCOMPARE(videoReadySpy.count(), 1); - QCOMPARE(m_subject->state(), MVideo::Stopped); - QCOMPARE(m_subject->position(), (quint64)0); - QVERIFY(m_subject->length() > 0); -} - -void ut_mvideowidget::testPlayback() -{ - m_subject->open(QString(qApp->applicationDirPath() + "/test.mov")); - //m_subject->setMuted(true); - waitVideoReady(); - - //test initial -> play - bool ok; - m_subject->play(); - ok = waitPositionChange(); - QCOMPARE(m_subject->state(), MVideo::Playing); - QVERIFY(m_subject->position() > 0); - QVERIFY(ok); - - //test play -> pause - m_subject->pause(); - ok = waitPositionFreeze(); - QCOMPARE(m_subject->state(), MVideo::Paused); - QVERIFY(ok); - - //test pause -> play - m_subject->play(); - ok = waitPositionChange(); - QCOMPARE(m_subject->state(), MVideo::Playing); - QVERIFY(ok); - - //test play -> stop - m_subject->stop(); - ok = waitPositionFreeze(); - QVERIFY(ok); - QCOMPARE(m_subject->state(), MVideo::Stopped); - QCOMPARE(m_subject->position(), (quint64)0); - - //test pause -> stop - m_subject->play(); - ok = waitPositionChange(); - QVERIFY(ok); - m_subject->pause(); - ok = waitPositionFreeze(); - QVERIFY(ok); - m_subject->stop(); - ok = waitPositionFreeze(); - QVERIFY(ok); - QCOMPARE(m_subject->state(), MVideo::Stopped); - QCOMPARE(m_subject->position(), (quint64)0); - - //stop -> pause - m_subject->pause(); - ok = waitPositionFreeze(); - QVERIFY(ok); - QCOMPARE(m_subject->state(), MVideo::Paused); - QCOMPARE(m_subject->position(), (quint64)0); -} - -void ut_mvideowidget::testVolumeControl() -{ - m_subject->open(QString(qApp->applicationDirPath() + "/test.mov")); - waitVideoReady(); - - //mute - m_subject->setMuted(true); - QVERIFY(m_subject->isMuted()); - m_subject->setMuted(false); - QVERIFY(!m_subject->isMuted()); - - //volume - m_subject->setVolume(-0.1); - QCOMPARE(m_subject->volume(), 0.0); - m_subject->setVolume(1000); - QCOMPARE(m_subject->volume(), 10.0); -} - -void ut_mvideowidget::testPositionControl() -{ - m_subject->open(QString(qApp->applicationDirPath() + "/test.mov")); - waitVideoReady(); - - //seeking when playing - m_subject->play(); - m_subject->seek(500); - waitPositionChange(); - QVERIFY(m_subject->position() >= 500); - - //seeking when paused - m_subject->pause(); - waitPositionFreeze(); - m_subject->seek(0); - m_subject->play(); - waitPositionChange(); - QVERIFY(m_subject->position() < 500); - - //seeking when stopped - m_subject->stop(); - waitPositionFreeze(); - QVERIFY(m_subject->position() == 0); - m_subject->seek(500); - m_subject->play(); - waitPositionChange(); - QVERIFY(m_subject->position() >= 500); - - //seek past EOS - m_subject->seek(m_subject->length() + 1000); - waitPositionChange(); - QVERIFY(m_subject->position() < m_subject->length()); - - //non-looping EOS - m_subject->setLooping(false); - m_subject->seek(m_subject->length() - 500); - bool ok = waitPositionFreeze(); - QVERIFY(ok); - QCOMPARE(m_subject->state(), MVideo::Stopped); - QCOMPARE(m_subject->position(), (quint64)0); - - //looping EOS - m_subject->setLooping(true); - m_subject->seek(m_subject->length() - 500); - m_subject->play(); - waitPositionChange(); - waitPositionFreeze(); - //QVERIFY(!ok); - QCOMPARE(m_subject->state(), MVideo::Playing); - QVERIFY(m_subject->position() > 0); -} - -QTEST_APPLESS_MAIN(ut_mvideowidget) |