jaroslav@296: /** jaroslav@296: * Back 2 Browser Bytecode Translator jaroslav@296: * Copyright (C) 2012 Jaroslav Tulach jaroslav@296: * jaroslav@296: * This program is free software: you can redistribute it and/or modify jaroslav@296: * it under the terms of the GNU General Public License as published by jaroslav@296: * the Free Software Foundation, version 2 of the License. jaroslav@296: * jaroslav@296: * This program is distributed in the hope that it will be useful, jaroslav@296: * but WITHOUT ANY WARRANTY; without even the implied warranty of jaroslav@296: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the jaroslav@296: * GNU General Public License for more details. jaroslav@296: * jaroslav@296: * You should have received a copy of the GNU General Public License jaroslav@296: * along with this program. Look for COPYING file in the top folder. jaroslav@296: * If not, see http://opensource.org/licenses/GPL-2.0. jaroslav@296: */ jaroslav@296: package org.apidesign.vm4brwsr.tck; jaroslav@296: jaroslav@296: import org.apidesign.vm4brwsr.Compare; jaroslav@296: import org.apidesign.vm4brwsr.CompareVMs; jaroslav@296: import org.testng.annotations.Factory; jaroslav@296: jaroslav@296: /** jaroslav@296: * jaroslav@296: * @author Jaroslav Tulach jaroslav@296: */ jaroslav@296: public class CompareStringsTest { jaroslav@296: @Compare public String deleteLastTwoCharacters() { jaroslav@296: StringBuilder sb = new StringBuilder(); jaroslav@296: sb.append("453.0"); jaroslav@296: if (sb.toString().endsWith(".0")) { jaroslav@296: final int l = sb.length(); jaroslav@296: sb.delete(l - 2, l); jaroslav@296: } jaroslav@296: return sb.toString().toString(); jaroslav@296: } jaroslav@296: jaroslav@321: @Compare public String nameOfStringClass() throws Exception { jaroslav@321: return Class.forName("java.lang.String").getName(); jaroslav@321: } jaroslav@322: @Compare public String nameOfArrayClass() throws Exception { jaroslav@322: return Class.forName("org.apidesign.vm4brwsr.Array").getName(); jaroslav@322: } jaroslav@326: jaroslav@326: @Compare public String lowerHello() { jaroslav@326: return "HeLlO".toLowerCase(); jaroslav@326: } jaroslav@326: jaroslav@326: @Compare public String lowerA() { jaroslav@326: return String.valueOf(Character.toLowerCase('A')).toString(); jaroslav@326: } jaroslav@326: @Compare public String upperHello() { jaroslav@326: return "hello".toUpperCase(); jaroslav@326: } jaroslav@326: jaroslav@326: @Compare public String upperA() { jaroslav@326: return String.valueOf(Character.toUpperCase('a')).toString(); jaroslav@326: } jaroslav@326: jaroslav@326: @Compare public boolean matchRegExp() throws Exception { jaroslav@326: return "58038503".matches("\\d*"); jaroslav@326: } jaroslav@326: jaroslav@326: @Compare public boolean doesNotMatchRegExp() throws Exception { jaroslav@326: return "58038503GH".matches("\\d*"); jaroslav@326: } jaroslav@326: jaroslav@326: @Compare public boolean doesNotMatchRegExpFully() throws Exception { jaroslav@326: return "Hello".matches("Hell"); jaroslav@326: } jaroslav@326: jaroslav@326: @Compare public String variousCharacterTests() throws Exception { jaroslav@326: StringBuilder sb = new StringBuilder(); jaroslav@326: jaroslav@326: sb.append(Character.isUpperCase('a')); jaroslav@326: sb.append(Character.isUpperCase('A')); jaroslav@326: sb.append(Character.isLowerCase('a')); jaroslav@326: sb.append(Character.isLowerCase('A')); jaroslav@326: jaroslav@326: sb.append(Character.isLetter('A')); jaroslav@326: sb.append(Character.isLetterOrDigit('9')); jaroslav@326: sb.append(Character.isLetterOrDigit('A')); jaroslav@326: sb.append(Character.isLetter('0')); jaroslav@326: jaroslav@326: return sb.toString().toString(); jaroslav@326: } jaroslav@322: jaroslav@296: @Factory jaroslav@296: public static Object[] create() { jaroslav@296: return CompareVMs.create(CompareStringsTest.class); jaroslav@296: } jaroslav@296: }