diff --git a/asdf-core/src/test/java/org/asdfformat/asdf/node/NumberAsdfNodeTest.java b/asdf-core/src/test/java/org/asdfformat/asdf/node/NumberAsdfNodeTest.java
index 7826f74..47e7617 100644
--- a/asdf-core/src/test/java/org/asdfformat/asdf/node/NumberAsdfNodeTest.java
+++ b/asdf-core/src/test/java/org/asdfformat/asdf/node/NumberAsdfNodeTest.java
@@ -350,6 +350,24 @@ void testConversionFromLong() {
assertEquals(value, node.asNumber());
}
+ @Test
+ void testAsIntFromLongInRange() {
+ assertEquals(0, NumberAsdfNode.of(0L).asInt());
+ assertEquals(1, NumberAsdfNode.of(1L).asInt());
+ assertEquals(180, NumberAsdfNode.of(180L).asInt());
+ assertEquals(-1, NumberAsdfNode.of(-1L).asInt());
+ assertEquals(Integer.MAX_VALUE, NumberAsdfNode.of((long) Integer.MAX_VALUE).asInt());
+ assertEquals(Integer.MIN_VALUE, NumberAsdfNode.of((long) Integer.MIN_VALUE).asInt());
+ }
+
+ @Test
+ void testAsIntFromLongOutOfRange() {
+ assertThrows(IllegalStateException.class, NumberAsdfNode.of((long) Integer.MAX_VALUE + 1)::asInt);
+ assertThrows(IllegalStateException.class, NumberAsdfNode.of((long) Integer.MIN_VALUE - 1)::asInt);
+ assertThrows(IllegalStateException.class, NumberAsdfNode.of(Long.MAX_VALUE)::asInt);
+ assertThrows(IllegalStateException.class, NumberAsdfNode.of(Long.MIN_VALUE)::asInt);
+ }
+
@Test
void testConversionFromBigInteger() {
final BigInteger value = BigInteger.valueOf(Long.MAX_VALUE).add(BigInteger.ONE);
diff --git a/pom.xml b/pom.xml
index 4bee0b7..da4ac51 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,7 +52,7 @@
3.11.2
3.2.7
3.5.3
- 0.7.0
+ 0.11.0
5.11.4
2.3.0
0.8.13