[vlc-devel] commit: more unit test and functions for media list (Filippo Carone )
git version control
git at videolan.org
Sun Mar 23 13:27:32 CET 2008
vlc | branch: master | Filippo Carone <littlejohn at videolan.org> | Sun Mar 23 13:28:00 2008 +0100| [27bee6c9629cd7f5c987b52433ca7270cc3ca6e6]
more unit test and functions for media list
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=27bee6c9629cd7f5c987b52433ca7270cc3ca6e6
---
.../src/main/java/org/videolan/jvlc/MediaList.java | 79 +++++++++++++++-----
.../test/java/org/videolan/jvlc/MediaListTest.java | 54 ++++++++++---
2 files changed, 102 insertions(+), 31 deletions(-)
diff --git a/bindings/java/core/src/main/java/org/videolan/jvlc/MediaList.java b/bindings/java/core/src/main/java/org/videolan/jvlc/MediaList.java
index 5477318..49c1b72 100644
--- a/bindings/java/core/src/main/java/org/videolan/jvlc/MediaList.java
+++ b/bindings/java/core/src/main/java/org/videolan/jvlc/MediaList.java
@@ -54,12 +54,18 @@ public class MediaList
eventManager = jvlc.getLibvlc().libvlc_media_list_event_manager(instance, exception);
}
- public void addMedia(String media)
+ /**
+ * @param mrl The media resource locator to add to the media list.
+ */
+ public void addMedia(String mrl)
{
- MediaDescriptor descriptor = new MediaDescriptor(jvlc, media);
+ MediaDescriptor descriptor = new MediaDescriptor(jvlc, mrl);
addMedia(descriptor);
}
+ /**
+ * @param descriptor The media descriptor to add to the media list.
+ */
public void addMedia(MediaDescriptor descriptor)
{
if (items.contains(descriptor.getMrl()))
@@ -71,27 +77,47 @@ public class MediaList
jvlc.getLibvlc().libvlc_media_list_add_media_descriptor(instance, descriptor.getInstance(), exception);
}
- public int itemsCount()
+ /**
+ * @return The current number of items in the media list.
+ */
+ public int size()
{
libvlc_exception_t exception = new libvlc_exception_t();
return jvlc.getLibvlc().libvlc_media_list_count(instance, exception);
}
+ /**
+ * @param descriptor The media descriptor to get the index of.
+ * @return The index of the media descriptor, or -1 if not found.
+ */
public int indexOf(MediaDescriptor descriptor)
{
libvlc_exception_t exception = new libvlc_exception_t();
return jvlc.getLibvlc().libvlc_media_list_index_of_item(instance, descriptor.getInstance(), exception);
}
+ /**
+ * @param index The index of the media descriptor to get.
+ * @return The media descriptor at the given index.
+ * @throws IndexOutOfBoundsException if index is bigger than size() or < 0, or there are no items in the media_list.
+ */
public MediaDescriptor getMediaDescriptorAtIndex(int index)
{
libvlc_exception_t exception = new libvlc_exception_t();
+ if (size() == 0)
+ {
+ throw new IndexOutOfBoundsException();
+ }
+ if (index < 0 || index > size())
+ {
+ throw new IndexOutOfBoundsException();
+ }
LibVlcMediaDescriptor descriptor = jvlc.getLibvlc().libvlc_media_list_item_at_index(instance, index, exception);
return new MediaDescriptor(jvlc, descriptor);
}
/**
- * @param index The index of the media to remove
+ * @param index The index of the media to remove.
* @return True if the media was successfully removed, false otherwise.
*/
public boolean removeMedia(int index)
@@ -107,7 +133,7 @@ public class MediaList
}
/**
- * @param media The media descriptor mrl
+ * @param media The media descriptor mrl.
*/
public boolean removeMedia(String mrl)
{
@@ -118,7 +144,36 @@ public class MediaList
}
return removeMedia(index);
}
+
+ /**
+ * @param mediaDescriptor The media descriptor to remove.
+ */
+ public boolean removeMedia(MediaDescriptor mediaDescriptor)
+ {
+ String mrl = mediaDescriptor.getMrl();
+ int index = items.indexOf(mrl);
+ if (index == -1)
+ {
+ return false;
+ }
+ return removeMedia(index);
+ }
+
+ /**
+ * Removes all items from the media list.
+ */
+ public void clear()
+ {
+ for (int i = 0; i < size(); i++)
+ {
+ removeMedia(i);
+ }
+ }
+ /**
+ * @param descriptor The media descriptor to insert.
+ * @param index The index of the inserted media descriptor.
+ */
public void insertMediaDescriptor(MediaDescriptor descriptor, int index)
{
libvlc_exception_t exception = new libvlc_exception_t();
@@ -146,18 +201,6 @@ public class MediaList
return instance;
}
- /**
- * @param mediaDescriptor
- */
- public boolean removeMedia(MediaDescriptor mediaDescriptor)
- {
- String mrl = mediaDescriptor.getMrl();
- int index = items.indexOf(mrl);
- if (index == -1)
- {
- return false;
- }
- return removeMedia(index);
- }
+
}
diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/MediaListTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/MediaListTest.java
index 7642226..d54650f 100644
--- a/bindings/java/core/src/test/java/org/videolan/jvlc/MediaListTest.java
+++ b/bindings/java/core/src/test/java/org/videolan/jvlc/MediaListTest.java
@@ -48,7 +48,7 @@ public class MediaListTest
{
MediaList mlist = new MediaList(jvlc);
mlist.addMedia(mrl);
- Assert.assertEquals(1, mlist.itemsCount());
+ Assert.assertEquals(1, mlist.size());
}
@Test
@@ -56,13 +56,13 @@ public class MediaListTest
{
MediaList mlist = new MediaList(jvlc);
mlist.addMedia(mrl);
- Assert.assertEquals(1, mlist.itemsCount());
+ Assert.assertEquals(1, mlist.size());
mlist.addMedia(mrl);
- Assert.assertEquals(1, mlist.itemsCount());
+ Assert.assertEquals(1, mlist.size());
mlist.addMedia(new MediaDescriptor(jvlc, mrl));
- Assert.assertEquals(1, mlist.itemsCount());
+ Assert.assertEquals(1, mlist.size());
mlist.addMedia("non-existing");
- Assert.assertEquals(2, mlist.itemsCount());
+ Assert.assertEquals(2, mlist.size());
}
@Test
@@ -70,9 +70,9 @@ public class MediaListTest
{
MediaList mlist = new MediaList(jvlc);
mlist.addMedia(mrl);
- Assert.assertEquals(1, mlist.itemsCount());
+ Assert.assertEquals(1, mlist.size());
mlist.removeMedia(0);
- Assert.assertEquals(0, mlist.itemsCount());
+ Assert.assertEquals(0, mlist.size());
}
@Test
@@ -80,25 +80,25 @@ public class MediaListTest
{
MediaList mlist = new MediaList(jvlc);
mlist.addMedia(mrl);
- Assert.assertEquals(1, mlist.itemsCount());
+ Assert.assertEquals(1, mlist.size());
mlist.removeMedia(0);
- Assert.assertEquals(0, mlist.itemsCount());
+ Assert.assertEquals(0, mlist.size());
mlist.addMedia(mrl);
mlist.removeMedia(0);
- Assert.assertEquals(0, mlist.itemsCount());
+ Assert.assertEquals(0, mlist.size());
mlist.addMedia(new MediaDescriptor(jvlc, mrl));
mlist.removeMedia(0);
- Assert.assertEquals(0, mlist.itemsCount());
+ Assert.assertEquals(0, mlist.size());
mlist.addMedia(new MediaDescriptor(jvlc, mrl));
mlist.removeMedia(mrl);
- Assert.assertEquals(0, mlist.itemsCount());
+ Assert.assertEquals(0, mlist.size());
mlist.addMedia(new MediaDescriptor(jvlc, mrl));
mlist.removeMedia(new MediaDescriptor(jvlc, mrl));
- Assert.assertEquals(0, mlist.itemsCount());
+ Assert.assertEquals(0, mlist.size());
}
@Test
@@ -109,5 +109,33 @@ public class MediaListTest
Assert.assertFalse(result);
}
+ @Test
+ public void mediaListIndexOfNonExistingMediaDescriptor()
+ {
+ MediaList mlist = new MediaList(jvlc);
+ MediaDescriptor md = new MediaDescriptor(jvlc, "dummy");
+ int result = mlist.indexOf(md);
+ Assert.assertEquals(-1, result);
+ }
+
+ @Test(expected = IndexOutOfBoundsException.class)
+ public void mediaListGetMediaDesciptorAtInvalidIndex()
+ {
+ MediaList mlist = new MediaList(jvlc);
+ mlist.getMediaDescriptorAtIndex(5);
+ }
+ @Test(expected = IndexOutOfBoundsException.class)
+ public void mediaListGetMediaDesciptorAtInvalidIndex2()
+ {
+ MediaList mlist = new MediaList(jvlc);
+ mlist.getMediaDescriptorAtIndex(-5);
+ }
+
+ @Test(expected = IndexOutOfBoundsException.class)
+ public void mediaListGetMediaDesciptorAtInvalidIndex3()
+ {
+ MediaList mlist = new MediaList(jvlc);
+ mlist.getMediaDescriptorAtIndex(0);
+ }
}
More information about the vlc-devel
mailing list