jaroslav@1965: /** jaroslav@1965: * Back 2 Browser Bytecode Translator jaroslav@1965: * Copyright (C) 2012-2015 Jaroslav Tulach jaroslav@1965: * jaroslav@1965: * This program is free software: you can redistribute it and/or modify jaroslav@1965: * it under the terms of the GNU General Public License as published by jaroslav@1965: * the Free Software Foundation, version 2 of the License. jaroslav@1965: * jaroslav@1965: * This program is distributed in the hope that it will be useful, jaroslav@1965: * but WITHOUT ANY WARRANTY; without even the implied warranty of jaroslav@1965: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the jaroslav@1965: * GNU General Public License for more details. jaroslav@1965: * jaroslav@1965: * You should have received a copy of the GNU General Public License jaroslav@1965: * along with this program. Look for COPYING file in the top folder. jaroslav@1965: * If not, see http://opensource.org/licenses/GPL-2.0. jaroslav@1965: */ jaroslav@1965: package org.apidesign.vm4brwsr; jaroslav@1965: jaroslav@1965: import org.testng.annotations.AfterClass; jaroslav@1965: import org.testng.annotations.BeforeClass; jaroslav@1965: import org.testng.annotations.Test; jaroslav@1965: jaroslav@1965: public class LibUseTest { jaroslav@1965: private static TestVM code; jaroslav@1965: jaroslav@1965: @BeforeClass jaroslav@1965: public static void initVM() throws Exception { jaroslav@1965: code = TestVM.compileClass("org/apidesign/vm4brwsr/LibUse"); jaroslav@1965: } jaroslav@1965: @AfterClass jaroslav@1965: public static void releaseTheCode() { jaroslav@1965: code = null; jaroslav@1965: } jaroslav@1965: jaroslav@1965: @Test jaroslav@1965: public void fourtyTwo() throws Exception { jaroslav@1965: code.assertExec("Fourty two", LibUse.class, "fourtyTwo__I", 42); jaroslav@1965: } jaroslav@1966: jaroslav@1966: @Test jaroslav@1966: public void readAHiProperty() throws Exception { jaroslav@1968: code.assertExec( jaroslav@1968: "Object has property x", LibUse.class, jaroslav@1968: "hiProperty__Ljava_lang_String_2Ljava_lang_String_2", jaroslav@1968: "Hi", (Object)null jaroslav@1968: ); jaroslav@1968: } jaroslav@1968: jaroslav@1968: @Test jaroslav@1968: public void writeAHiProperty() throws Exception { jaroslav@1968: code.assertExec( jaroslav@1968: "Object has property x", LibUse.class, jaroslav@1968: "hiProperty__Ljava_lang_String_2Ljava_lang_String_2", jaroslav@1968: "Ahoj", "Ahoj" jaroslav@1968: ); jaroslav@1966: } jaroslav@1970: jaroslav@1970: @Test jaroslav@1970: public void optionalParams1() throws Exception { jaroslav@1970: code.assertExec( jaroslav@1970: "Fifteen", LibUse.class, jaroslav@1970: "parse__DLjava_lang_String_2", jaroslav@1970: 15, "0xF" jaroslav@1970: ); jaroslav@1970: } jaroslav@1970: jaroslav@1970: @Test jaroslav@1970: public void optionalParams2() throws Exception { jaroslav@1970: code.assertExec( jaroslav@1970: "Fifteen", LibUse.class, jaroslav@1970: "parse__DLjava_lang_String_2I", jaroslav@1970: 15, "F", 16 jaroslav@1970: ); jaroslav@1970: } jaroslav@1971: jaroslav@1971: @Test jaroslav@1971: public void verifyNaN() throws Exception { jaroslav@1971: code.assertExec( jaroslav@1971: "Check NaN", LibUse.class, jaroslav@1971: "checkNaN__Z", jaroslav@1971: true jaroslav@1971: ); jaroslav@1971: } jaroslav@1972: jaroslav@1972: @Test jaroslav@1972: public void assertDateOperation() throws Exception { jaroslav@1972: code.assertExec( jaroslav@1972: "Create and read date", LibUse.class, jaroslav@1972: "dateOperation__D", jaroslav@1972: 2017.0 jaroslav@1972: ); jaroslav@1972: } jaroslav@1974: jaroslav@1974: @Test jaroslav@1974: public void directArray() throws Exception { jaroslav@1974: code.assertExec( jaroslav@1974: "Create and read date", LibUse.class, jaroslav@1974: "arrayForEach__D", jaroslav@1974: 6.3 jaroslav@1974: ); jaroslav@1974: } jaroslav@1965: }