From 0c90be807cc4afd3bc32370427a2b3444d796548 Mon Sep 17 00:00:00 2001 From: Filippo Carone Date: Sun, 21 Dec 2008 13:50:22 +0100 Subject: [PATCH] jvlc: media event tests added --- .../jvlc/internal/LibVlcMediaEventsTest.java | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 bindings/java/core/src/test/java/org/videolan/jvlc/internal/LibVlcMediaEventsTest.java diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/internal/LibVlcMediaEventsTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/internal/LibVlcMediaEventsTest.java new file mode 100644 index 0000000000..7eba8d425e --- /dev/null +++ b/bindings/java/core/src/test/java/org/videolan/jvlc/internal/LibVlcMediaEventsTest.java @@ -0,0 +1,69 @@ +/***************************************************************************** + * LibVlcMediaEventsTest.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.internal; + +import junit.framework.Assert; + +import org.junit.After; +import org.junit.Test; +import org.videolan.jvlc.internal.LibVlc.LibVlcCallback; +import org.videolan.jvlc.internal.LibVlc.LibVlcEventManager; +import org.videolan.jvlc.internal.LibVlc.LibVlcMedia; +import org.videolan.jvlc.internal.LibVlc.libvlc_event_t; + +import com.sun.jna.Pointer; + + +public class LibVlcMediaEventsTest extends AbstractVLCInternalTest +{ + + int eventFired = 0; + + @After + public void cleanupFired() + { + eventFired = 0; + } + + @Test + public void mediaFreedTest() + { + LibVlcMedia media = libvlc.libvlc_media_new(libvlcInstance, mrl, exception); + LibVlcEventManager eventManager = libvlc.libvlc_media_event_manager(media, exception); + LibVlcCallback callback = new LibVlc.LibVlcCallback() + { + + public void callback(libvlc_event_t libvlc_event, Pointer userData) + { + eventFired = 1; + } + + }; + libvlc.libvlc_event_attach(eventManager, LibVlcEventType.libvlc_MediaFreed.ordinal(), callback, null, exception); + libvlc.libvlc_media_release(media); + Assert.assertEquals(1, eventFired); + } +} -- 2.39.2