[vlc-devel] commit: jvlc: abstract test class added to not-internal tests too ( Filippo Carone )

git version control git at videolan.org
Sun Jul 20 17:35:54 CEST 2008


vlc | branch: master | Filippo Carone <littlejohn at videolan.org> | Sun Jul 20 17:38:13 2008 +0200| [a602c01e2e1b69dd1e7241d9d98686e25842ea41]

jvlc: abstract test class added to not-internal tests too

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a602c01e2e1b69dd1e7241d9d98686e25842ea41
---

 .../java/org/videolan/jvlc/AbstractJVLCTest.java   |  112 ++++++++++++++++++++
 .../src/test/java/org/videolan/jvlc/JVLCTest.java  |    4 +-
 .../test/java/org/videolan/jvlc/LoggerTest.java    |   13 +--
 .../test/java/org/videolan/jvlc/MediaListTest.java |   13 +--
 .../src/test/java/org/videolan/jvlc/VLMTest.java   |   36 +------
 .../jvlc/internal/AbstractVLCInternalTest.java     |    1 -
 6 files changed, 120 insertions(+), 59 deletions(-)

diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/AbstractJVLCTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/AbstractJVLCTest.java
new file mode 100644
index 0000000..6bd9cff
--- /dev/null
+++ b/bindings/java/core/src/test/java/org/videolan/jvlc/AbstractJVLCTest.java
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * AbstractJVLCTest.java: VLC Java Bindings
+ *****************************************************************************
+ * Copyright (C) 1998-2008 the VideoLAN team
+ *
+ * Authors: Filippo Carone <filippo at carone.org>
+ *
+ *
+ * $Id $
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ *****************************************************************************/
+
+package org.videolan.jvlc;
+
+import java.io.BufferedOutputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+import java.net.URLConnection;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.videolan.jvlc.internal.AbstractVLCInternalTest;
+
+
+public abstract class AbstractJVLCTest
+{
+    
+    protected JVLC jvlc;
+
+    protected String mrl;
+
+    private String address = "http://streams.videolan.org/streams-videolan/reference/avi/Hero-Div3.avi";
+
+    /**
+     * Logger.
+     */
+    private Logger log = LoggerFactory.getLogger(AbstractVLCInternalTest.class);
+
+    @Before
+    public void testSetup()
+    {
+        jvlc = new JVLC("-vvv --ignore-config --no-media-library -I dummy --aout=dummy --vout=dummy");
+        downloadSample();
+    }
+
+    @After
+    public void tearDown()
+    {
+        jvlc.release();
+    }
+
+    private void downloadSample()
+    {
+        OutputStream out = null;
+        URLConnection conn = null;
+        InputStream in = null;
+        URL sampleResource = this.getClass().getResource("/sample.avi");
+        if (sampleResource != null)
+        {
+            log.debug("Sample file already downloaded");
+            mrl = sampleResource.getPath();
+            return;
+        }
+        try
+        {
+            log.info("Downloading sample: {}", address);
+            String testResoucesPath = this.getClass().getResource("/sample").getPath();
+            URL url = new URL(address);
+            out = new BufferedOutputStream(new FileOutputStream(testResoucesPath + ".avi"));
+            conn = url.openConnection();
+            in = conn.getInputStream();
+            byte[] buffer = new byte[1024];
+            int numRead;
+            long numWritten = 0;
+            while ((numRead = in.read(buffer)) != -1)
+            {
+                out.write(buffer, 0, numRead);
+                numWritten += numRead;
+            }
+            log.info("Sample downloaded.");
+            mrl = testResoucesPath + ".avi";
+        }
+        catch (Exception e)
+        {
+            log.error("{}", e);
+        }
+        finally
+        {
+            IOUtils.closeQuietly(in);
+            IOUtils.closeQuietly(out);
+        }
+    }
+
+}
diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/JVLCTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/JVLCTest.java
index 451ae8c..23a3c99 100644
--- a/bindings/java/core/src/test/java/org/videolan/jvlc/JVLCTest.java
+++ b/bindings/java/core/src/test/java/org/videolan/jvlc/JVLCTest.java
@@ -30,7 +30,7 @@ import junit.framework.Assert;
 import org.junit.Test;
 
 
-public class JVLCTest
+public class JVLCTest extends AbstractJVLCTest
 {
     
     String mrl = getClass().getResource("/raffa_voice.ogg").getFile();
@@ -45,7 +45,6 @@ public class JVLCTest
     @Test
     public void jvlcPlay()
     {
-        JVLC jvlc = new JVLC();
         MediaPlayer instance = jvlc.play(mrl);
         Assert.assertNotNull(instance);
     }
@@ -55,7 +54,6 @@ public class JVLCTest
     {
         JVLC jvlc = new JVLC();
         jvlc.release();
-        jvlc.release();
     }
     
 
diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/LoggerTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/LoggerTest.java
index 552607e..ce8acf5 100644
--- a/bindings/java/core/src/test/java/org/videolan/jvlc/LoggerTest.java
+++ b/bindings/java/core/src/test/java/org/videolan/jvlc/LoggerTest.java
@@ -29,22 +29,11 @@ import java.util.Iterator;
 
 import junit.framework.Assert;
 
-import org.junit.Before;
 import org.junit.Test;
 
 
-public class LoggerTest
+public class LoggerTest extends AbstractJVLCTest
 {
-
-    private JVLC jvlc;
-    
-    private String mrl = getClass().getResource("/raffa_voice.ogg").getFile();
-    
-    @Before
-    public void setup()
-    {
-        jvlc = new JVLC("-I dummy --aout=dummy --vout=dummy");
-    }
     
     @Test
     public void testLogDebug()
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 e73e528..3bc24ec 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
@@ -26,23 +26,12 @@
 package org.videolan.jvlc;
 
 import org.junit.Assert;
-import org.junit.Before;
 import org.junit.Test;
 
 
-public class MediaListTest
+public class MediaListTest extends AbstractJVLCTest
 {
 
-    private JVLC jvlc;
-    
-    private String mrl = getClass().getResource("/raffa_voice.ogg").getFile();
-    
-    @Before
-    public void setup()
-    {
-        jvlc = new JVLC("-vvv --ignore-config --no-media-library -I dummy --aout=dummy --vout=dummy");
-    }
-    
     @Test
     public void mediaListAddMedia()
     {
diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/VLMTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/VLMTest.java
index a2d140a..6f97709 100644
--- a/bindings/java/core/src/test/java/org/videolan/jvlc/VLMTest.java
+++ b/bindings/java/core/src/test/java/org/videolan/jvlc/VLMTest.java
@@ -27,32 +27,13 @@ package org.videolan.jvlc;
 
 import junit.framework.Assert;
 
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
 
 
-public class VLMTest
+public class VLMTest extends AbstractJVLCTest
 {
-    private JVLC jvlc;
-    
-    private String mrl = getClass().getResource("/raffa_voice.ogg").getFile();
-    
     private String mediaName = "test";
     
-    @Before
-    public void setup()
-    {
-        jvlc = new JVLC("--ignore-config --no-media-library -I dummy --aout=dummy --vout=dummy");
-        jvlc.setLogVerbosity(LoggerVerbosityLevel.DEBUG);
-    }
-
-    @After
-    public void tearDown()
-    {
-        jvlc.release();
-    }
-    
     @Test
     public void testVLMInit()
     {
@@ -82,14 +63,7 @@ public class VLMTest
         vlm.addBroadcast(mediaName, "file://" + mrl, "", null, true, false);
         vlm.disableMedia(mediaName);
     }
-    
-    @Test
-    public void testPlayMedia()
-    {
-        VLM vlm = jvlc.getVLM();
-        vlm.addBroadcast(mediaName, mrl, "", null, true, false);
-        vlm.playMedia(mediaName);
-    }
+
     
     @Test
     public void testPauseMedia()
@@ -98,17 +72,16 @@ public class VLMTest
         vlm.addBroadcast(mediaName, "file://" + mrl, "", null, true, false);
         vlm.playMedia(mediaName);
         vlm.pauseMedia(mediaName);
+        vlm.stopMedia(mediaName);
     }
 
     @Test
-    public void testStopMedia() throws Exception
+    public void testStopMedia()
     {
         VLM vlm = jvlc.getVLM();
         vlm.addBroadcast(mediaName, "file://" + mrl, "", null, true, false);
         vlm.playMedia(mediaName);
-        Thread.sleep(2000);
         vlm.stopMedia(mediaName);
-        jvlc.release();
     }
 
     @Test
@@ -118,6 +91,7 @@ public class VLMTest
         vlm.addBroadcast(mediaName, "file://" + mrl, "", null, true, false);
         vlm.playMedia(mediaName);
         vlm.seekMedia(mediaName, 0.3f);
+        vlm.stopMedia(mediaName);
     }
     
     @Test
diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/internal/AbstractVLCInternalTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/internal/AbstractVLCInternalTest.java
index 03f1587..e7c540c 100644
--- a/bindings/java/core/src/test/java/org/videolan/jvlc/internal/AbstractVLCInternalTest.java
+++ b/bindings/java/core/src/test/java/org/videolan/jvlc/internal/AbstractVLCInternalTest.java
@@ -27,7 +27,6 @@ package org.videolan.jvlc.internal;
 
 import java.io.BufferedOutputStream;
 import java.io.FileOutputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URL;




More information about the vlc-devel mailing list