Skip to content

Commit 15280d2

Browse files
committed
Add integers_double_overflow for JS
Demonstrates kaitai-io/kaitai_struct_javascript_runtime#16
1 parent 264b256 commit 15280d2

File tree

3 files changed

+53
-0
lines changed

3 files changed

+53
-0
lines changed

formats/integers_double_overflow.ksy

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Tests reading un/signed 64-bit integers in languages representing integers as 64-bit floats ("double"s)
2+
# It is intended especially for JavaScript.
3+
meta:
4+
id: integers_double_overflow
5+
seq:
6+
- id: signed_safe_min_be # 0x00
7+
type: s8be
8+
- id: signed_safe_min_le # 0x08
9+
type: s8le
10+
- id: signed_safe_max_be # 0x10
11+
type: s8be
12+
- id: signed_safe_max_le # 0x18
13+
type: s8le
14+
- id: signed_unsafe_neg_be # 0x20
15+
type: s8be
16+
- id: signed_unsafe_neg_le # 0x28
17+
type: s8le
18+
- id: signed_unsafe_pos_be # 0x30
19+
type: s8be
20+
- id: signed_unsafe_pos_le # 0x38
21+
type: s8le
22+
instances:
23+
unsigned_safe_max_be:
24+
pos: 0x10
25+
type: u8be
26+
unsigned_safe_max_le:
27+
pos: 0x18
28+
type: u8le
29+
unsigned_unsafe_pos_be:
30+
pos: 0x30
31+
type: u8be
32+
unsigned_unsafe_pos_le:
33+
pos: 0x38
34+
type: u8le

spec/ks/integers_double_overflow.kst

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
id: integers_double_overflow
2+
data: integers_double_overflow.bin
3+
asserts:
4+
- actual: signed_safe_min_be
5+
expected: -9007199254740991
6+
- actual: signed_safe_min_le
7+
expected: -9007199254740991
8+
- actual: signed_safe_max_be
9+
expected: 9007199254740991
10+
- actual: signed_safe_max_le
11+
expected: 9007199254740991
12+
- actual: signed_unsafe_neg_be.to_s
13+
expected: '"-9007199254740993"'
14+
- actual: signed_unsafe_neg_le.to_s
15+
expected: '"-9007199254740993"'
16+
- actual: signed_unsafe_pos_be.to_s
17+
expected: '"9007199254740993"'
18+
- actual: signed_unsafe_pos_be.to_s
19+
expected: '"9007199254740993"'

src/integers_double_overflow.bin

64 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)