jaroslav@425: /** jaroslav@425: * Back 2 Browser Bytecode Translator jaroslav@425: * Copyright (C) 2012 Jaroslav Tulach jaroslav@425: * jaroslav@425: * This program is free software: you can redistribute it and/or modify jaroslav@425: * it under the terms of the GNU General Public License as published by jaroslav@425: * the Free Software Foundation, version 2 of the License. jaroslav@425: * jaroslav@425: * This program is distributed in the hope that it will be useful, jaroslav@425: * but WITHOUT ANY WARRANTY; without even the implied warranty of jaroslav@425: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the jaroslav@425: * GNU General Public License for more details. jaroslav@425: * jaroslav@425: * You should have received a copy of the GNU General Public License jaroslav@425: * along with this program. Look for COPYING file in the top folder. jaroslav@425: * If not, see http://opensource.org/licenses/GPL-2.0. jaroslav@424: */ jaroslav@1498: package org.apidesign.bck2brwsr.brwsrtest; jaroslav@424: jaroslav@1375: import java.io.IOException; jaroslav@424: import java.io.InputStream; jaroslav@1316: import java.net.URL; jaroslav@1375: import java.util.Enumeration; jaroslav@424: import org.apidesign.bck2brwsr.vmtest.Compare; jaroslav@424: import org.apidesign.bck2brwsr.vmtest.VMTest; jaroslav@424: import org.testng.annotations.Factory; jaroslav@424: jaroslav@424: /** jaroslav@424: * jaroslav@424: * @author Jaroslav Tulach jaroslav@424: */ jaroslav@1498: public class ResourcesInBrwsrTest { jaroslav@424: jaroslav@424: @Compare public String readResourceAsStream() throws Exception { jaroslav@424: InputStream is = getClass().getResourceAsStream("Resources.txt"); jaroslav@1375: return readString(is); jaroslav@1375: } jaroslav@1398: jaroslav@1398: @Compare public String readResourceViaConnection() throws Exception { jaroslav@1398: InputStream is = getClass().getResource("Resources.txt").openConnection().getInputStream(); jaroslav@1398: return readString(is); jaroslav@1398: } jaroslav@1375: jaroslav@1375: private String readString(InputStream is) throws IOException { jaroslav@424: StringBuilder sb = new StringBuilder(); jaroslav@1375: byte[] b = new byte[512]; jaroslav@1375: for (;;) { jaroslav@1375: int len = is.read(b); jaroslav@1375: if (len == -1) { jaroslav@1375: return sb.toString(); jaroslav@1375: } jaroslav@1375: for (int i = 0; i < len; i++) { jaroslav@1375: sb.append((char)b[i]); jaroslav@1375: } jaroslav@424: } jaroslav@1034: } jaroslav@1333: jaroslav@1333: @Compare public String readResourceAsStreamFromClassLoader() throws Exception { jaroslav@1513: InputStream is = getClass().getClassLoader().getResourceAsStream("org/apidesign/bck2brwsr/brwsrtest/Resources.txt"); jaroslav@1375: return readString(is); jaroslav@1333: } jaroslav@1034: jaroslav@1316: @Compare public String toURIFromURL() throws Exception { jaroslav@1316: URL u = new URL("http://apidesign.org"); jaroslav@1316: return u.toURI().toString(); jaroslav@424: } jaroslav@424: jaroslav@424: @Factory public static Object[] create() { jaroslav@1498: return VMTest.create(ResourcesInBrwsrTest.class); jaroslav@424: } jaroslav@424: }