jaroslav@106: /** jaroslav@106: * Back 2 Browser Bytecode Translator jaroslav@1787: * Copyright (C) 2012-2015 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@1497: import javax.script.ScriptEngine; jaroslav@789: import org.testng.annotations.AfterClass; jaroslav@103: import org.testng.annotations.BeforeClass; jaroslav@0: import org.testng.annotations.Test; jaroslav@0: jaroslav@1772: /** Tests whether we can access public field from a class in extension. jaroslav@0: * jaroslav@0: * @author Jaroslav Tulach jaroslav@0: */ jaroslav@1772: public class ImportedFieldTest { jaroslav@1497: @Test public void checkHello() throws Exception { jaroslav@1493: jaroslav@1772: code.assertExec("Can access field from extension", jaroslav@1772: ImplementFactory.class, "meaning__I", jaroslav@1772: 42 jaroslav@291: ); jaroslav@291: } jaroslav@1519: 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@1497: ScriptEngine[] eng = { null }; jaroslav@1772: code = TestVM.compileClassesAsExtension(sb, eng, null, null, jaroslav@1772: "org/apidesign/vm4brwsr/extrnl/ImportedField", jaroslav@1772: "org/apidesign/vm4brwsr/extrnl/ImportedField$Factory" jaroslav@1497: ); jaroslav@1610: code = TestVM.compileClassesAsExtension(sb, eng, null, null, jaroslav@1610: "org/apidesign/vm4brwsr/ImplementFactory", jaroslav@1610: "org/apidesign/vm4brwsr/ImplementFactory$Impl" jaroslav@1496: ); jaroslav@2: } jaroslav@789: @AfterClass jaroslav@789: public static void releaseTheCode() { jaroslav@789: code = null; jaroslav@789: } jaroslav@0: }