Skip to content

Commit 8b914b2

Browse files
committed
Fixes for paths and Long to BigInt
1 parent 431ac38 commit 8b914b2

File tree

2 files changed

+2352
-2363
lines changed

2 files changed

+2352
-2363
lines changed

tests/ts/JavaScriptTest1.js

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
var assert = require('assert');
33
var fs = require('fs');
44

5-
var flatbuffers = require('../js/flatbuffers').flatbuffers;
5+
var flatbuffers = require('../../js/flatbuffers');
66
var MyGame = require(process.argv[2]).MyGame;
77

88
function main() {
99

1010
// First, let's test reading a FlatBuffer generated by C++ code:
1111
// 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'));
1313

1414
// Now test it:
1515

@@ -173,8 +173,7 @@ function test64bit() {
173173
var mon2 = MyGame.Example.Monster.endMonster(fbb);
174174

175175
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);
178177
var stat = MyGame.Example.Stat.endStat(fbb);
179178

180179
MyGame.Example.Monster.startMonster(fbb);
@@ -195,20 +194,19 @@ function test64bit() {
195194
var stat = mon.testempty();
196195
assert.strictEqual(stat != null, true);
197196
assert.strictEqual(stat.val() != null, true);
198-
assert.strictEqual(stat.val().toFloat64(), 2541551405100253985);
197+
assert.strictEqual(stat.val(), 2541551405100253985n);
199198

200199
var mon2 = mon.enemy();
201200
assert.strictEqual(mon2 != null, true);
202201
stat = mon2.testempty();
203202
assert.strictEqual(stat != null, true);
204203
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
207205
}
208206

209207
function testUnicode() {
210208
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'));
212210

213211
// Test reading
214212
function testReadingUnicode(bb) {
@@ -293,8 +291,8 @@ function fuzzTest1() {
293291
var ushort_val = 0xFEEE;
294292
var int_val = 0x83333333 | 0;
295293
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);
298296
var float_val = new Float32Array([3.14159])[0];
299297
var double_val = 3.14159265359;
300298

@@ -322,8 +320,8 @@ function fuzzTest1() {
322320
case 4: builder.addFieldInt16(f, ushort_val, 0); break;
323321
case 5: builder.addFieldInt32(f, int_val, 0); break;
324322
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;
327325
case 9: builder.addFieldFloat32(f, float_val, 0); break;
328326
case 10: builder.addFieldFloat64(f, double_val, 0); break;
329327
}
@@ -357,8 +355,8 @@ function fuzzTest1() {
357355
case 4: assert.strictEqual(view.getUint16(field_offset, true), ushort_val); break;
358356
case 5: assert.strictEqual(view.getInt32(field_offset, true), int_val); break;
359357
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;
362360
case 9: assert.strictEqual(view.getFloat32(field_offset, true), float_val); break;
363361
case 10: assert.strictEqual(view.getFloat64(field_offset, true), double_val); break;
364362
}

0 commit comments

Comments
 (0)