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@789: import org.testng.annotations.AfterClass; jaroslav@103: import org.testng.annotations.BeforeClass; jaroslav@0: import org.testng.annotations.Test; jaroslav@0: jaroslav@1409: /** Checks behavior of classes and methods with underscore. jaroslav@0: * jaroslav@0: * @author Jaroslav Tulach jaroslav@0: */ jaroslav@1409: public class UnderTest { jaroslav@1409: @Test public void one() throws Exception { jaroslav@2: assertExec( jaroslav@1409: "Should be one", jaroslav@1409: Under_Score.class, "one__I", jaroslav@173: Double.valueOf(1) jaroslav@173: ); jaroslav@173: } jaroslav@173: jaroslav@1409: @Test public void onePlusOne() throws Exception { jaroslav@2: assertExec( jaroslav@1409: "Should be two", jaroslav@1409: Under_Score.class, "one_1plus_1one__I", jaroslav@1409: Double.valueOf(2) jaroslav@2: ); jaroslav@1: } jaroslav@1: jaroslav@1409: @Test public void two() throws Exception { jaroslav@48: assertExec( jaroslav@1409: "Should be two", jaroslav@1409: Under_Score.class, "two__I", jaroslav@1409: Double.valueOf(2) jaroslav@48: ); jaroslav@48: } jaroslav@48: jaroslav@1409: @Test public void staticField() throws Exception { jaroslav@2: assertExec( jaroslav@1409: "Should be ten", jaroslav@1409: Under_Score.class, "staticField__I", jaroslav@1409: Double.valueOf(10) jaroslav@600: ); jaroslav@600: } jaroslav@600: jaroslav@1409: @Test public void instance() throws Exception { jaroslav@600: assertExec( jaroslav@1409: "Should be five", jaroslav@1409: Under_Score.class, "instance__I", jaroslav@1409: Double.valueOf(5) jaroslav@600: ); jaroslav@600: } jaroslav@600: 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@1409: code = TestVM.compileClass(sb, "org/apidesign/vm4brwsr/Under_Score"); 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: }