]> git.sesse.net Git - vlc/commitdiff
jvlc: abstract test class added to not-internal tests too
authorFilippo Carone <littlejohn@videolan.org>
Sun, 20 Jul 2008 15:38:13 +0000 (17:38 +0200)
committerFilippo Carone <littlejohn@videolan.org>
Sun, 20 Jul 2008 15:38:13 +0000 (17:38 +0200)
bindings/java/core/src/test/java/org/videolan/jvlc/AbstractJVLCTest.java [new file with mode: 0644]
bindings/java/core/src/test/java/org/videolan/jvlc/JVLCTest.java
bindings/java/core/src/test/java/org/videolan/jvlc/LoggerTest.java
bindings/java/core/src/test/java/org/videolan/jvlc/MediaListTest.java
bindings/java/core/src/test/java/org/videolan/jvlc/VLMTest.java
bindings/java/core/src/test/java/org/videolan/jvlc/internal/AbstractVLCInternalTest.java

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 (file)
index 0000000..6bd9cff
--- /dev/null
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * AbstractJVLCTest.java: VLC Java Bindings
+ *****************************************************************************
+ * Copyright (C) 1998-2008 the VideoLAN team
+ *
+ * Authors: Filippo Carone <filippo@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);
+        }
+    }
+
+}
index 451ae8ccf3c5c2991e371fb5a89591ef98c06ab5..23a3c99f079491ccaf01970f8c848091b8833019 100644 (file)
@@ -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();
     }
     
 
index 552607e9bb1144fbaf0fc4a8f86302ea10320bf0..ce8acf539bbcbaf0d0a71b01629bf4f6a66e97d7 100644 (file)
@@ -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()
index e73e5281701e37b7dd4e91b20e8c209deaf70dec..3bc24ecbaf1d7e314a43352790f95c23b6d68c4d 100644 (file)
 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()
     {
index a2d140a920119a1d73a22e8821ff206a1cfffab8..6f9770990ecaa8bd6cc4f5f28a6fc3d23c8d7827 100644 (file)
@@ -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
index 03f1587528b6b455e7b915f31b02718fdaf9d0a4..e7c540cf9339dd7cea211faca8cd6704042fe517 100644 (file)
@@ -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;