1 package org.apidesign.vm4brwsr;
3 import javax.script.Invocable;
4 import javax.script.ScriptException;
5 import org.testng.annotations.Test;
6 import static org.testng.Assert.*;
10 * @author Jaroslav Tulach <jtulach@netbeans.org>
12 public class StringTest {
13 @Test public void firstChar() throws Exception {
15 "First char in Hello is H",
16 "org_apidesign_vm4brwsr_StringSample_sayHelloCI",
21 @Test public void fromChars() throws Exception {
23 "First char in Hello is ABC",
24 "org_apidesign_vm4brwsr_StringSample_fromCharsLjava_lang_StringCCC",
29 @Test(timeOut=10000) public void toStringConcatenation() throws Exception {
31 "Five executions should generate 5Hello World!",
32 "org_apidesign_vm4brwsr_StringSample_toStringTestLjava_lang_StringI",
37 private static void assertExec(String msg, String methodName, Object expRes, Object... args) throws Exception {
38 StringBuilder sb = new StringBuilder();
39 Invocable i = StaticMethodTest.compileClass(sb,
40 "org/apidesign/vm4brwsr/StringSample",
46 ret = i.invokeFunction(methodName, args);
47 } catch (ScriptException ex) {
48 fail("Execution failed in " + sb, ex);
49 } catch (NoSuchMethodException ex) {
50 fail("Cannot find method in " + sb, ex);
52 if (ret == null && expRes == null) {
55 if (expRes.equals(ret)) {
58 assertEquals(ret, expRes, msg + "was: " + ret + "\n" + sb);