1.1 --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/vmtest/impl/ZipFileTest.java Fri Feb 01 18:02:16 2013 +0100
1.2 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/vmtest/impl/ZipFileTest.java Fri Feb 01 18:42:07 2013 +0100
1.3 @@ -53,6 +53,26 @@
1.4 return ret;
1.5 }
1.6
1.7 + @JavaScriptBody(args = { "res", "path" }, body =
1.8 + "var myvm = new bck2brwsr(path);\n"
1.9 + + "var cls = myvm.loadClass('java.lang.String');\n"
1.10 + + "return cls.getClass__Ljava_lang_Class_2().getResourceAsStream__Ljava_io_InputStream_2Ljava_lang_String_2(res);\n"
1.11 + )
1.12 + private static native Object loadVMResource(String res, String...path);
1.13 +
1.14 + @HttpResource(path = "/readAnEntry.jar", mimeType = "x-application/zip", content = "", resource="readAnEntry.zip")
1.15 + @BrwsrTest public void canVmLoadResourceFromZip() throws IOException {
1.16 + Object res = loadVMResource("/my/main/file.txt", "http:/readAnEntry.jar");
1.17 + assert res instanceof InputStream : "Got array of bytes: " + res;
1.18 + InputStream is = (InputStream)res;
1.19 +
1.20 + byte[] arr = new byte[4096];
1.21 + int len = is.read(arr);
1.22 +
1.23 + final String ret = new String(arr, 0, len, "UTF-8");
1.24 +
1.25 + assertEquals(ret, "Hello World!", "Can read the bytes");
1.26 + }
1.27
1.28 private static void assertEquals(Object real, Object exp, String msg) {
1.29 assert Objects.equals(exp, real) : msg + " exp: " + exp + " real: " + real;