aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phonon/basic_playing_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phonon/basic_playing_test.py')
-rw-r--r--tests/phonon/basic_playing_test.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/phonon/basic_playing_test.py b/tests/phonon/basic_playing_test.py
new file mode 100644
index 000000000..100a036c0
--- /dev/null
+++ b/tests/phonon/basic_playing_test.py
@@ -0,0 +1,60 @@
+
+import os
+import unittest
+
+from PySide import QtCore
+from PySide import phonon
+
+from helper import UsesQCoreApplication
+
+# XXX Hack to get the correct filename
+example_file = os.path.join(os.path.dirname(__file__),'tone.ogg')
+
+class TestSimplePlaying(UsesQCoreApplication):
+ def setUp(self):
+ super(TestSimplePlaying, self).setUp()
+ self.app.setApplicationName('Dummy')
+ self.source = phonon.Phonon.MediaSource(example_file)
+ self.media = phonon.Phonon.MediaObject()
+ self.media.setCurrentSource(self.source)
+
+ QtCore.QObject.connect(self.media,
+ QtCore.SIGNAL('finished()'),
+ self.app,
+ QtCore.SLOT('quit()'))
+
+ self.called = False
+
+ def tearDown(self):
+ super(TestSimplePlaying, self).tearDown()
+
+ def testFinishedSignal(self):
+ # Should pass if finished() is called
+ self.media.play()
+ self.app.exec_()
+
+ def testMediaSource(self):
+ self.assertEqual(self.media.currentSource(), self.source)
+
+ def testPathCreation(self):
+ output = phonon.Phonon.AudioOutput()
+ path = phonon.Phonon.createPath(self.media, output)
+
+ # FIXME Both functions below are not exported by PyQt4
+ self.assertEqual(path.sink(), output)
+ self.assertEqual(path.source(), self.media)
+
+ def state_cb(self, newState, OldState):
+ self.called = True
+
+ def testStateChanged(self):
+ QtCore.QObject.connect(self.media,
+ QtCore.SIGNAL('stateChanged(Phonon::State, Phonon::State)'),
+ self.state_cb)
+
+ self.media.play()
+ self.app.exec_()
+ self.assert_(self.called)
+
+if __name__ == '__main__':
+ unittest.main()