Using the new Java class analyzer API, scan the bound packages for references to Java classes and interfaces and generate Go wrappers for them. This is the second part of the implementation of proposal golang/go#16876. For golang/go#16876 Change-Id: I59ec0ebdae0081a615dc34d450f344c20c03f871 Reviewed-on: https://go-review.googlesource.com/28596 Reviewed-by: David Crawshaw <crawshaw@golang.org>
69 lines
1.7 KiB
Java
69 lines
1.7 KiB
Java
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package go;
|
|
|
|
import android.test.InstrumentationTestCase;
|
|
import android.test.MoreAsserts;
|
|
|
|
import java.io.InputStream;
|
|
import java.io.IOException;
|
|
import java.util.Arrays;
|
|
import java.util.Random;
|
|
|
|
import go.javapkg.Javapkg;
|
|
|
|
public class ClassesTest extends InstrumentationTestCase {
|
|
public void testConst() {
|
|
assertEquals("const Float", Float.MIN_VALUE, Javapkg.floatMin());
|
|
assertEquals("const String", java.util.jar.JarFile.MANIFEST_NAME, Javapkg.manifestName());
|
|
assertEquals("const Int", 7, Integer.SIZE, Javapkg.integerBytes());
|
|
}
|
|
|
|
public void testFunction() {
|
|
Javapkg.systemCurrentTimeMillis();
|
|
}
|
|
|
|
public void testMethod() {
|
|
try {
|
|
assertEquals("Integer.decode", 0xff, Javapkg.integerDecode("0xff"));
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
Exception exc = null;
|
|
try {
|
|
Javapkg.integerDecode("obviously wrong");
|
|
} catch (Exception e) {
|
|
exc = e;
|
|
}
|
|
assertNotNull("IntegerDecode Exception", exc);
|
|
}
|
|
|
|
public void testOverloadedMethod() {
|
|
try {
|
|
assertEquals("Integer.parseInt", 0xc4, Javapkg.integerParseInt("c4", 16));
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
Exception exc = null;
|
|
try {
|
|
Javapkg.integerParseInt("wrong", 16);
|
|
} catch (Exception e) {
|
|
exc = e;
|
|
}
|
|
assertNotNull("integerParseInt Exception", exc);
|
|
assertEquals("Integer.valueOf", 42, Javapkg.integerValueOf(42));
|
|
}
|
|
|
|
public void testException() {
|
|
Exception exc = null;
|
|
try {
|
|
Javapkg.provokeRuntimeException();
|
|
} catch (Exception e) {
|
|
exc = e;
|
|
}
|
|
assertNotNull("RuntimeException", exc);
|
|
}
|
|
}
|