Commit a602c01e authored by Filippo Carone's avatar Filippo Carone

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

parent b774d66a
/*****************************************************************************
* 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);
}
}
}
......@@ -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();
}
......
......@@ -29,23 +29,12 @@ 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()
{
......
......@@ -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()
{
......
......@@ -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()
{
......@@ -83,13 +64,6 @@ public class VLMTest
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
......
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment