msmith - in flumotion/trunk: .
flumotion/component/producers/playlist flumotion/test
flumotion-commit at lists.fluendo.com
flumotion-commit at lists.fluendo.com
Wed May 16 13:03:00 CEST 2007
Author: msmith
Date: Wed May 16 13:02:58 2007
New Revision: 4960
Modified:
flumotion/trunk/ChangeLog
flumotion/trunk/flumotion/component/producers/playlist/playlistparser.py
flumotion/trunk/flumotion/test/test_component_playlist.py
Log:
* flumotion/component/producers/playlist/playlistparser.py:
Return new item from addItem (used in tests)
* flumotion/test/test_component_playlist.py:
Add a test, randomly prod something to make buildbots maybe happier?
Modified: flumotion/trunk/ChangeLog
==============================================================================
--- flumotion/trunk/ChangeLog (original)
+++ flumotion/trunk/ChangeLog Wed May 16 13:02:58 2007
@@ -1,5 +1,12 @@
2007-05-16 Michael Smith <msmith at fluendo.com>
+ * flumotion/component/producers/playlist/playlistparser.py:
+ Return new item from addItem (used in tests)
+ * flumotion/test/test_component_playlist.py:
+ Add a test, randomly prod something to make buildbots maybe happier?
+
+2007-05-16 Michael Smith <msmith at fluendo.com>
+
* flumotion/test/Makefile.am:
* flumotion/test/test_component_playlist.py:
First round of simple tests for playlist stuff
Modified: flumotion/trunk/flumotion/component/producers/playlist/playlistparser.py
==============================================================================
--- flumotion/trunk/flumotion/component/producers/playlist/playlistparser.py (original)
+++ flumotion/trunk/flumotion/component/producers/playlist/playlistparser.py Wed May 16 13:02:58 2007
@@ -90,7 +90,7 @@
if current and timestamp < current.timestamp + current.duration:
self.warning("New object at uri %s starts during current object, "
"cannot add")
- return
+ return None
newitem = PlaylistItem(id, timestamp, uri, offset, duration)
newitem.hasAudio = hasAudio
@@ -159,6 +159,8 @@
# Then we need to actually add newitem into the gnonlin timeline
self.producer.scheduleItem(newitem)
+ return newitem
+
def expireOldEntries(self):
"""
Delete references to old playlist entries that have passed.
Modified: flumotion/trunk/flumotion/test/test_component_playlist.py
==============================================================================
--- flumotion/trunk/flumotion/test/test_component_playlist.py (original)
+++ flumotion/trunk/flumotion/test/test_component_playlist.py Wed May 16 13:02:58 2007
@@ -28,7 +28,7 @@
from flumotion.component.producers.playlist import playlistparser
-class FakeProducer():
+class FakeProducer(object):
def scheduleItem(self, item):
pass
@@ -84,5 +84,23 @@
self.assertTrue(self.playlist._itemsById.has_key('id2'))
self.checkItems(1)
+ def testAddOverlappingItems(self):
+ first = self.playlist.addItem('id1', 0, "file:///testuri", 0, 100,
+ True, True)
+ self.assertEquals(first.duration, 100)
+ second = self.playlist.addItem('id1', 50, "file:///testuri", 0, 100,
+ True, True)
+
+ self.checkItems(2)
+ # First one should have had duration adjusted
+ self.assertEquals(first.duration, 50)
+
+ third = self.playlist.addItem('id1', 25, "file:///testuri", 0, 150,
+ True, True)
+ # Second should have been deleted
+ self.assertFalse(second in self.playlist._itemsById['id1'])
+ self.checkItems(2)
+ self.assertEquals(first.duration, 25)
+
if __name__ == '__main__':
unittest.main()
More information about the flumotion-commit
mailing list