2
2
var assert = require ( 'assert' ) ;
3
3
var fs = require ( 'fs' ) ;
4
4
5
- var flatbuffers = require ( '../js/flatbuffers' ) . flatbuffers ;
5
+ var flatbuffers = require ( '../../ js/flatbuffers' ) ;
6
6
var MyGame = require ( process . argv [ 2 ] ) . MyGame ;
7
7
8
8
function main ( ) {
9
9
10
10
// First, let's test reading a FlatBuffer generated by C++ code:
11
11
// This file was generated from monsterdata_test.json
12
- var data = new Uint8Array ( fs . readFileSync ( 'monsterdata_test.mon' ) ) ;
12
+ var data = new Uint8Array ( fs . readFileSync ( '../ monsterdata_test.mon' ) ) ;
13
13
14
14
// Now test it:
15
15
@@ -173,8 +173,7 @@ function test64bit() {
173
173
var mon2 = MyGame . Example . Monster . endMonster ( fbb ) ;
174
174
175
175
MyGame . Example . Stat . startStat ( fbb ) ;
176
- // 2541551405100253985 = 0x87654321(low part) + 0x23456789 * 0x100000000(high part);
177
- MyGame . Example . Stat . addVal ( fbb , new flatbuffers . Long ( 0x87654321 , 0x23456789 ) ) ; // the low part is Uint32
176
+ MyGame . Example . Stat . addVal ( fbb , 0x2345678987654321n ) ;
178
177
var stat = MyGame . Example . Stat . endStat ( fbb ) ;
179
178
180
179
MyGame . Example . Monster . startMonster ( fbb ) ;
@@ -195,20 +194,19 @@ function test64bit() {
195
194
var stat = mon . testempty ( ) ;
196
195
assert . strictEqual ( stat != null , true ) ;
197
196
assert . strictEqual ( stat . val ( ) != null , true ) ;
198
- assert . strictEqual ( stat . val ( ) . toFloat64 ( ) , 2541551405100253985 ) ;
197
+ assert . strictEqual ( stat . val ( ) , 2541551405100253985n ) ;
199
198
200
199
var mon2 = mon . enemy ( ) ;
201
200
assert . strictEqual ( mon2 != null , true ) ;
202
201
stat = mon2 . testempty ( ) ;
203
202
assert . strictEqual ( stat != null , true ) ;
204
203
assert . strictEqual ( stat . val ( ) != null , true ) ;
205
- assert . strictEqual ( stat . val ( ) . low , 0 ) ; // default value
206
- assert . strictEqual ( stat . val ( ) . high , 0 ) ;
204
+ assert . strictEqual ( stat . val ( ) , 0n ) ; // default value
207
205
}
208
206
209
207
function testUnicode ( ) {
210
208
var correct = fs . readFileSync ( 'unicode_test.mon' ) ;
211
- var json = JSON . parse ( fs . readFileSync ( 'unicode_test.json' , 'utf8' ) ) ;
209
+ var json = JSON . parse ( fs . readFileSync ( '../ unicode_test.json' , 'utf8' ) ) ;
212
210
213
211
// Test reading
214
212
function testReadingUnicode ( bb ) {
@@ -293,8 +291,8 @@ function fuzzTest1() {
293
291
var ushort_val = 0xFEEE ;
294
292
var int_val = 0x83333333 | 0 ;
295
293
var uint_val = 0xFDDDDDDD ;
296
- var long_val = new flatbuffers . Long ( 0x44444444 , 0x84444444 ) ;
297
- var ulong_val = new flatbuffers . Long ( 0xCCCCCCCC , 0xFCCCCCCC ) ;
294
+ var long_val = BigInt . asIntN ( 64 , 0x8444444444444444n ) ;
295
+ var ulong_val = BigInt . asUintN ( 64 , 0xFCCCCCCCCCCCCCCCn ) ;
298
296
var float_val = new Float32Array ( [ 3.14159 ] ) [ 0 ] ;
299
297
var double_val = 3.14159265359 ;
300
298
@@ -322,8 +320,8 @@ function fuzzTest1() {
322
320
case 4 : builder . addFieldInt16 ( f , ushort_val , 0 ) ; break ;
323
321
case 5 : builder . addFieldInt32 ( f , int_val , 0 ) ; break ;
324
322
case 6 : builder . addFieldInt32 ( f , uint_val , 0 ) ; break ;
325
- case 7 : builder . addFieldInt64 ( f , long_val , flatbuffers . Long . ZERO ) ; break ;
326
- case 8 : builder . addFieldInt64 ( f , ulong_val , flatbuffers . Long . ZERO ) ; break ;
323
+ case 7 : builder . addFieldInt64 ( f , long_val , 0n ) ; break ;
324
+ case 8 : builder . addFieldInt64 ( f , ulong_val , 0n ) ; break ;
327
325
case 9 : builder . addFieldFloat32 ( f , float_val , 0 ) ; break ;
328
326
case 10 : builder . addFieldFloat64 ( f , double_val , 0 ) ; break ;
329
327
}
@@ -357,8 +355,8 @@ function fuzzTest1() {
357
355
case 4 : assert . strictEqual ( view . getUint16 ( field_offset , true ) , ushort_val ) ; break ;
358
356
case 5 : assert . strictEqual ( view . getInt32 ( field_offset , true ) , int_val ) ; break ;
359
357
case 6 : assert . strictEqual ( view . getUint32 ( field_offset , true ) , uint_val ) ; break ;
360
- case 7 : assert . strictEqual ( view . getInt32 ( field_offset , true ) , long_val . low ) ; assert . strictEqual ( view . getInt32 ( field_offset + 4 , true ) , long_val . high ) ; break ;
361
- case 8 : assert . strictEqual ( view . getInt32 ( field_offset , true ) , ulong_val . low ) ; assert . strictEqual ( view . getInt32 ( field_offset + 4 , true ) , ulong_val . high ) ; break ;
358
+ case 7 : assert . strictEqual ( view . getBigInt64 ( field_offset , true ) , long_val ) ; break ;
359
+ case 8 : assert . strictEqual ( view . getBigUint64 ( field_offset , true ) , ulong_val ) ; break ;
362
360
case 9 : assert . strictEqual ( view . getFloat32 ( field_offset , true ) , float_val ) ; break ;
363
361
case 10 : assert . strictEqual ( view . getFloat64 ( field_offset , true ) , double_val ) ; break ;
364
362
}
0 commit comments