package uk.co.badgersinfoil.metaas.impl;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import junit.framework.TestCase;
public class SWCResourceRootTest extends TestCase {
public void testIt() throws IOException {
File file = File.createTempFile("test", ".swc");
createTextSWC(file);
SWCResourceRoot root = new SWCResourceRoot(file.getAbsolutePath());
List list = root.getDefinitionQNames();
assertEquals(2, list.size());
assertEquals(new ASQName("flashy.events", "EventWrecker"),
list.get(0));
assertEquals(new ASQName("NoPackage"),
list.get(1));
file.delete();
}
private void createTextSWC(File file) throws FileNotFoundException, IOException {
ZipEntry catalogEntry = new ZipEntry("catalog.xml");
FileOutputStream out = new FileOutputStream(file);
file.deleteOnExit();
ZipOutputStream zip = new ZipOutputStream(out);
zip.putNextEntry(catalogEntry);
OutputStreamWriter writer = new OutputStreamWriter(zip);
writer.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+"<swc xmlns=\"http://www.adobe.com/flash/swccatalog/9\">"
+" <versions>"
+" <swc version=\"1.0\"/>"
+" <flex version=\"2.0\" build=\"0\"/>"
+" </versions>"
+" <features>"
+" <feature-script-deps/>"
+" <feature-components/>"
+" <feature-files/>"
+" </features>"
+" <libraries>"
+" <library path=\"library.swf\">"
+" <script name=\"EventWrecker\" mod=\"1234567890123\">"
+" <def id=\"flashy.events:EventWrecker\"/>"
+" <def id=\"NoPackage\"/>"
+" <dep id=\"Object\" type=\"i\"/>"
+" </script>"
+" </library>"
+" </libraries>"
+" <files>"
+" </files>"
+"</swc>");
writer.flush();
zip.close();
}
}