aboutsummaryrefslogtreecommitdiff
path: root/test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java')
-rw-r--r--test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java42
1 files changed, 23 insertions, 19 deletions
diff --git a/test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java b/test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java
index 03e30752..40db6845 100644
--- a/test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java
+++ b/test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java
@@ -27,7 +27,6 @@ package jdk.nashorn.api.javaaccess;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertTrue;
-
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
@@ -41,10 +40,11 @@ import org.testng.annotations.Test;
* @build jdk.nashorn.api.javaaccess.SharedObject jdk.nashorn.api.javaaccess.Person jdk.nashorn.api.javaaccess.NumberBoxingTest
* @run testng/othervm jdk.nashorn.api.javaaccess.NumberBoxingTest
*/
+@SuppressWarnings("javadoc")
public class NumberBoxingTest {
- private static ScriptEngine e = null;
- private static SharedObject o = null;
+ private static ScriptEngine e;
+ private static SharedObject o;
public static void main(final String[] args) {
TestNG.main(args);
@@ -77,10 +77,10 @@ public class NumberBoxingTest {
@Test
public void accessStaticFieldLongBoxing() throws ScriptException {
- e.eval("var ps_long = SharedObject.publicStaticLong;");
- assertEquals(SharedObject.publicStaticLong, e.get("ps_long"));
- e.eval("SharedObject.publicStaticLong = 120;");
- assertEquals(120, SharedObject.publicStaticLong);
+ e.eval("var ps_long = SharedObject.publicStaticLongBox;");
+ assertEquals(SharedObject.publicStaticLongBox, e.get("ps_long"));
+ e.eval("SharedObject.publicStaticLongBox = 120;");
+ assertEquals(120L, SharedObject.publicStaticLongBox.longValue());
}
@Test
@@ -138,7 +138,7 @@ public class NumberBoxingTest {
@Test
public void accessFieldByteBoxing() throws ScriptException {
e.eval("var p_byte = o.publicByteBox;");
- assertEquals(o.publicByteBox, e.get("p_byte"));
+ assertEqualsDouble(o.publicByteBox, "p_byte");
e.eval("o.publicByteBox = 16;");
assertEquals(Byte.valueOf((byte)16), o.publicByteBox);
}
@@ -146,7 +146,7 @@ public class NumberBoxingTest {
@Test
public void accessStaticFieldByteBoxing() throws ScriptException {
e.eval("var ps_byte = SharedObject.publicStaticByte;");
- assertEquals(SharedObject.publicStaticByte, e.get("ps_byte"));
+ assertEqualsDouble(SharedObject.publicStaticByte, "ps_byte");
e.eval("SharedObject.publicStaticByte = 16;");
assertEquals(16, SharedObject.publicStaticByte);
}
@@ -154,7 +154,7 @@ public class NumberBoxingTest {
@Test
public void accessFinalFieldByteBoxing() throws ScriptException {
e.eval("var pf_byte = o.publicFinalByteBox;");
- assertEquals(o.publicFinalByteBox, e.get("pf_byte"));
+ assertEqualsDouble(o.publicFinalByteBox, "pf_byte");
e.eval("o.publicFinalByteBox = 16;");
assertEquals(Byte.valueOf((byte)19), o.publicFinalByteBox);
}
@@ -162,7 +162,7 @@ public class NumberBoxingTest {
@Test
public void accessStaticFinalFieldByteBoxing() throws ScriptException {
e.eval("var psf_byte = SharedObject.publicStaticFinalByte;");
- assertEquals(SharedObject.publicStaticFinalByte, e.get("psf_byte"));
+ assertEqualsDouble(SharedObject.publicStaticFinalByte, "psf_byte");
e.eval("SharedObject.publicStaticFinalByte = 16;");
assertEquals(-70, SharedObject.publicStaticFinalByte);
}
@@ -172,15 +172,19 @@ public class NumberBoxingTest {
@Test
public void accessFieldShortBoxing() throws ScriptException {
e.eval("var p_short = o.publicShortBox;");
- assertEquals(o.publicShortBox, e.get("p_short"));
+ assertEqualsDouble(o.publicShortBox, "p_short");
e.eval("o.publicShortBox = 18;");
assertEquals(Short.valueOf((short)18), o.publicShortBox);
}
+ private static void assertEqualsDouble(final Number n, final String name) {
+ assertEquals(n.doubleValue(), ((Number)e.get(name)).doubleValue());
+ }
+
@Test
public void accessStaticFieldShortBoxing() throws ScriptException {
e.eval("var ps_short = SharedObject.publicStaticShort;");
- assertEquals(SharedObject.publicStaticShort, e.get("ps_short"));
+ assertEqualsDouble(SharedObject.publicStaticShort, "ps_short");
e.eval("SharedObject.publicStaticShort = 180;");
assertEquals(180, SharedObject.publicStaticShort);
}
@@ -188,7 +192,7 @@ public class NumberBoxingTest {
@Test
public void accessFinalFieldShortBoxing() throws ScriptException {
e.eval("var pf_short = o.publicFinalShortBox;");
- assertEquals(o.publicFinalShortBox, e.get("pf_short"));
+ assertEqualsDouble(o.publicFinalShortBox, "pf_short");
e.eval("o.publicFinalShortBox = 180;");
assertEquals(Short.valueOf((short)-26777), o.publicFinalShortBox);
}
@@ -196,7 +200,7 @@ public class NumberBoxingTest {
@Test
public void accessStaticFinalFieldShortBoxing() throws ScriptException {
e.eval("var psf_short = SharedObject.publicStaticFinalShort;");
- assertEquals(SharedObject.publicStaticFinalShort, e.get("psf_short"));
+ assertEqualsDouble(SharedObject.publicStaticFinalShort, "psf_short");
e.eval("SharedObject.publicStaticFinalShort = 180;");
assertEquals(8888, SharedObject.publicStaticFinalShort);
}
@@ -247,7 +251,7 @@ public class NumberBoxingTest {
@Test
public void accessFieldFloatBoxing() throws ScriptException {
e.eval("var p_float = o.publicFloatBox;");
- assertEquals(o.publicFloatBox, e.get("p_float"));
+ assertEqualsDouble(o.publicFloatBox, "p_float");
o.publicFloatBox = 0.0f / 0.0f;
assertEquals(true, e.eval("isNaN(o.publicFloatBox)"));
o.publicFloatBox = 1.0f / 0.0f;
@@ -267,7 +271,7 @@ public class NumberBoxingTest {
@Test
public void accessStaticFieldFloatBoxing() throws ScriptException {
e.eval("var ps_float = SharedObject.publicStaticFloat;");
- assertEquals(SharedObject.publicStaticFloat, e.get("ps_float"));
+ assertEqualsDouble(SharedObject.publicStaticFloat, "ps_float");
SharedObject.publicStaticFloat = 0.0f / 0.0f;
assertEquals(true, e.eval("isNaN(SharedObject.publicStaticFloat)"));
SharedObject.publicStaticFloat = 1.0f / 0.0f;
@@ -287,7 +291,7 @@ public class NumberBoxingTest {
@Test
public void accessFinalFloatBoxing() throws ScriptException {
e.eval("var pf_float = o.publicFinalFloatBox;");
- assertEquals(o.publicFinalFloatBox, e.get("pf_float"));
+ assertEqualsDouble(o.publicFinalFloatBox, "pf_float");
e.eval("o.publicFinalFloatBox = 20.0;");
assertEquals(1.372e4f, o.publicFinalFloatBox, 1e-10);
}
@@ -295,7 +299,7 @@ public class NumberBoxingTest {
@Test
public void accessStaticFinalFieldFloatBoxing() throws ScriptException {
e.eval("var psf_float = SharedObject.publicStaticFinalFloat;");
- assertEquals(SharedObject.publicStaticFinalFloat, e.get("psf_float"));
+ assertEqualsDouble(SharedObject.publicStaticFinalFloat, "psf_float");
e.eval("SharedObject.publicStaticFinalFloat = 20.0;");
assertEquals(0.72e8f, SharedObject.publicStaticFinalFloat, 1e-10);
}