Package net.sf.fmj.test.compat.misc

Source Code of net.sf.fmj.test.compat.misc.ManagerTest

package net.sf.fmj.test.compat.misc;

import java.io.File;
import java.util.Vector;

import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.PackageManager;
import javax.media.Player;
import javax.media.SystemTimeBase;
import javax.media.TimeBase;

import junit.framework.TestCase;

/**
*
* @author Ken Larson
*
*/
public class ManagerTest extends TestCase
{

  public void testCreatePlayer() throws Exception
  {
    if (true)
      return;
    synchronized(PackageManager.class// to avoid conflicts with other tests
    {
   
      String test = "file://" + new File("samplemedia/safexmas.mov").getAbsolutePath();
 
      final Player p = Manager.createPlayer(new MediaLocator(test));
      //System.out.println(p);
     
    }
  }
 
  public void testManager()
  {
    TimeBase tb = Manager.getSystemTimeBase();
    assertEquals(tb.getClass(), SystemTimeBase.class);
    TimeBase tb2 = Manager.getSystemTimeBase();
    assertTrue(tb2 == tb);
   
    assertEquals(Manager.getCacheDirectory(), System.getProperty("java.io.tmpdir"));
   
//    for (Object key : System.getProperties().keySet())
//      System.out.println(key + "=" + System.getProperties().get(key));
   
   
    assertEquals(Manager.getHint(Manager.MAX_SECURITY), Boolean.FALSE);
    assertEquals(Manager.getHint(Manager.CACHING), Boolean.TRUE);
    assertEquals(Manager.getHint(Manager.LIGHTWEIGHT_RENDERER), Boolean.FALSE);
    assertEquals(Manager.getHint(Manager.PLUGIN_PLAYER), Boolean.FALSE);
 
   
    for (int i = Manager.PLUGIN_PLAYER + 1; i < 100; ++i)
    {  assertEquals(Manager.getHint(i), null);
    }
   
    //assertEquals(Manager.getVersion(), "2.1.1e");
   
    synchronized(PackageManager.class// to avoid conflicts with other tests
    {
   
    assertStringVectorEquals(Manager.getHandlerClassList(""), new String[] {
      "media.content..Handler",
      "javax.media.content..Handler",
      "com.sun.media.content..Handler",
      "com.ibm.media.content..Handler",
    });

    assertStringVectorEquals(Manager.getHandlerClassList("abc"), new String[] {
      "media.content.abc.Handler",
      "javax.media.content.abc.Handler",
      "com.sun.media.content.abc.Handler",
      "com.ibm.media.content.abc.Handler",
    });

    assertStringVectorEquals(Manager.getHandlerClassList("abc.xyz"), new String[] {
      "media.content.abc.xyz.Handler",
      "javax.media.content.abc.xyz.Handler",
      "com.sun.media.content.abc.xyz.Handler",
      "com.ibm.media.content.abc.xyz.Handler",
    });
   
    assertStringVectorEquals(Manager.getHandlerClassList("abc/xyz"), new String[] {
      "media.content.abc.xyz.Handler",
      "javax.media.content.abc.xyz.Handler",
      "com.sun.media.content.abc.xyz.Handler",
      "com.ibm.media.content.abc.xyz.Handler",
    });
 
    {
      Vector v = new Vector();
      v.add("org.foo");
      PackageManager.setContentPrefixList(v);
    }
   
    assertStringVectorEquals(Manager.getHandlerClassList("abc"), new String[] {
      "media.content.abc.Handler",
      "org.foo.media.content.abc.Handler",
      "javax.media.content.abc.Handler",
    });
   
    assertStringVectorEquals(Manager.getProcessorClassList("abc"), new String[] {
      "media.processor.abc.Handler",
      "org.foo.media.processor.abc.Handler",
      "javax.media.processor.abc.Handler",
    });
   
    assertStringVectorEquals(Manager.getProcessorClassList("abc#xyz"), new String[] {
      "media.processor.abc_xyz.Handler",
      "org.foo.media.processor.abc_xyz.Handler",
      "javax.media.processor.abc_xyz.Handler",
    });
   
    assertStringVectorEquals(Manager.getDataSourceList("abc"), new String[] {
      "media.protocol.abc.DataSource",
      "javax.media.protocol.abc.DataSource",
      "com.sun.media.protocol.abc.DataSource",
      "com.ibm.media.protocol.abc.DataSource",
    });
   
    {
      Vector v = new Vector();
      v.add("org.bar");
      PackageManager.setProtocolPrefixList(v);
    }
   
    assertStringVectorEquals(Manager.getDataSourceList("abc#xyz"), new String[] {
      "media.protocol.abc#xyz.DataSource",
      "org.bar.media.protocol.abc#xyz.DataSource",
      "javax.media.protocol.abc#xyz.DataSource",
     
    });
   
    //dumpStringVector(Manager.getDataSourceList("abc#xyz"));
   
    // restore PackageManager:
   
    {
      final Vector v = new Vector();
      v.add("javax");
      v.add("com.sun");
      v.add("com.ibm");
      PackageManager.setProtocolPrefixList(v);
     
    }
   
    {
      final Vector v = new Vector();
      v.add("javax");
      v.add("com.sun");
      v.add("com.ibm");
      PackageManager.setContentPrefixList(v);
    }
   
   
    }
   
  }
 
  private void dumpStringVector(Vector v1)
  {
    for (int i = 0; i < v1.size(); ++i)
    {  String s = (String) v1.get(i);
      System.out.println(s);
    }
  }
  private void assertStringVectorEquals(Vector v1, String[] a)
  {
    assertEquals(v1 == null, a == null);
    if (v1 == null)
      return;
   
    assertEquals(v1.size(), a.length);
    for (int j = 0; j < v1.size(); ++j)
    {
      final String s1 = (String) v1.get(j);
      final String s2 = (String) a[j];
      assertEquals(s1, s2);
    }
  } 
  private void assertStringVectorEquals(Vector v1, Vector v2)
  {
    assertEquals(v1 == null, v2 == null);
    if (v1 == null)
      return;
   
    assertEquals(v1.size(), v2.size());
    for (int j = 0; j < v1.size(); ++j)
    {
      final String s1 = (String) v1.get(j);
      final String s2 = (String) v2.get(j);
      assertEquals(s1, s2);
    }
  }
}
TOP

Related Classes of net.sf.fmj.test.compat.misc.ManagerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.