jaroslav@106: /** jaroslav@106: * Back 2 Browser Bytecode Translator jaroslav@106: * Copyright (C) 2012 Jaroslav Tulach jaroslav@106: * jaroslav@106: * This program is free software: you can redistribute it and/or modify jaroslav@106: * it under the terms of the GNU General Public License as published by jaroslav@106: * the Free Software Foundation, version 2 of the License. jaroslav@106: * jaroslav@106: * This program is distributed in the hope that it will be useful, jaroslav@106: * but WITHOUT ANY WARRANTY; without even the implied warranty of jaroslav@106: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the jaroslav@106: * GNU General Public License for more details. jaroslav@106: * jaroslav@106: * You should have received a copy of the GNU General Public License jaroslav@106: * along with this program. Look for COPYING file in the top folder. jaroslav@106: * If not, see http://opensource.org/licenses/GPL-2.0. jaroslav@106: */ jaroslav@22: package org.apidesign.vm4brwsr; jaroslav@0: jaroslav@0: import static org.testng.Assert.*; jaroslav@789: import org.testng.annotations.AfterClass; jaroslav@103: import org.testng.annotations.BeforeClass; jaroslav@0: import org.testng.annotations.Test; jaroslav@0: jaroslav@1493: /** Tests related to loading resources from the VM. jaroslav@0: * jaroslav@0: * @author Jaroslav Tulach jaroslav@0: */ jaroslav@1493: public class ResourcesTest { jaroslav@291: @Test public void checkNullCast() throws Exception { jaroslav@1493: String exp = Resources.loadKO(); jaroslav@1493: jaroslav@1493: assertExec("Loading a precompiled resource:", jaroslav@1493: Resources.class, "loadKO__Ljava_lang_String_2", jaroslav@1493: exp jaroslav@291: ); jaroslav@291: } jaroslav@291: jaroslav@708: private static TestVM code; jaroslav@103: jaroslav@103: @BeforeClass jaroslav@789: public static void compileTheCode() throws Exception { jaroslav@103: StringBuilder sb = new StringBuilder(); jaroslav@1493: code = TestVM.compileClassAndResources(sb, null, "org/apidesign/vm4brwsr/Resources", "org/apidesign/vm4brwsr/ko.js"); jaroslav@2: } jaroslav@789: @AfterClass jaroslav@789: public static void releaseTheCode() { jaroslav@789: code = null; jaroslav@789: } jaroslav@2: jaroslav@708: private void assertExec( jaroslav@708: String msg, Class clazz, String method, jaroslav@708: Object ret, Object... args jaroslav@708: ) throws Exception { jaroslav@708: code.assertExec(msg, clazz, method, ret, args); jaroslav@298: } jaroslav@0: }