@@ -881,6 +881,60 @@ public void testNegativeMaxNumberLength() {
881
881
}
882
882
}
883
883
884
+ public void testBigIntegerWithENotation () throws Exception {
885
+ final String DOC = "1e5" ;
886
+
887
+ // TODO broken for MODE_DATA_INPUT
888
+ final int [] modes = new int []{
889
+ MODE_INPUT_STREAM ,
890
+ MODE_INPUT_STREAM_THROTTLED ,
891
+ MODE_READER ,
892
+ MODE_READER_THROTTLED
893
+ };
894
+ for (int mode : modes ) {
895
+ try (JsonParser p = createParser (jsonFactory (), mode , DOC )) {
896
+ assertToken (JsonToken .VALUE_NUMBER_FLOAT , p .nextToken ());
897
+ assertEquals (100000L , p .getBigIntegerValue ().longValue ());
898
+ }
899
+ }
900
+ }
901
+
902
+ public void testLongWithENotation () throws Exception {
903
+ final String DOC = "1e5" ;
904
+
905
+ // TODO broken for MODE_DATA_INPUT
906
+ final int [] modes = new int []{
907
+ MODE_INPUT_STREAM ,
908
+ MODE_INPUT_STREAM_THROTTLED ,
909
+ MODE_READER ,
910
+ MODE_READER_THROTTLED
911
+ };
912
+ for (int mode : modes ) {
913
+ try (JsonParser p = createParser (jsonFactory (), mode , DOC )) {
914
+ assertToken (JsonToken .VALUE_NUMBER_FLOAT , p .nextToken ());
915
+ assertEquals (100000L , p .getLongValue ());
916
+ }
917
+ }
918
+ }
919
+
920
+ public void testIntWithENotation () throws Exception {
921
+ final String DOC = "1e5" ;
922
+
923
+ // TODO broken for MODE_DATA_INPUT
924
+ final int [] modes = new int []{
925
+ MODE_INPUT_STREAM ,
926
+ MODE_INPUT_STREAM_THROTTLED ,
927
+ MODE_READER ,
928
+ MODE_READER_THROTTLED
929
+ };
930
+ for (int mode : modes ) {
931
+ try (JsonParser p = createParser (jsonFactory (), mode , DOC )) {
932
+ assertToken (JsonToken .VALUE_NUMBER_FLOAT , p .nextToken ());
933
+ assertEquals (100000 , p .getIntValue ());
934
+ }
935
+ }
936
+ }
937
+
884
938
/*
885
939
/**********************************************************
886
940
/* Helper methods
0 commit comments