From a602c01e2e1b69dd1e7241d9d98686e25842ea41 Mon Sep 17 00:00:00 2001 From: Filippo Carone Date: Sun, 20 Jul 2008 17:38:13 +0200 Subject: [PATCH] jvlc: abstract test class added to not-internal tests too --- .../org/videolan/jvlc/AbstractJVLCTest.java | 112 ++++++++++++++++++ .../test/java/org/videolan/jvlc/JVLCTest.java | 4 +- .../java/org/videolan/jvlc/LoggerTest.java | 13 +- .../java/org/videolan/jvlc/MediaListTest.java | 13 +- .../test/java/org/videolan/jvlc/VLMTest.java | 36 +----- .../internal/AbstractVLCInternalTest.java | 1 - 6 files changed, 120 insertions(+), 59 deletions(-) create mode 100644 bindings/java/core/src/test/java/org/videolan/jvlc/AbstractJVLCTest.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 index 0000000000..6bd9cffa1c --- /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 + * + * + * $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 451ae8ccf3..23a3c99f07 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 552607e9bb..ce8acf539b 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 e73e528170..3bc24ecbaf 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 a2d140a920..6f9770990e 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 03f1587528..e7c540cf93 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; -- 2.39.2