From ae8bd93c031e2b4a1c6da87f61ac9d2b7446ce9d Mon Sep 17 00:00:00 2001 From: Rafael Weinstein Date: Tue, 3 Nov 2015 22:21:14 -0800 Subject: [PATCH 1/2] (js) Add test for correct async decoding --- js2/src/decode_test.js | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/js2/src/decode_test.js b/js2/src/decode_test.js index 960d392ffe..a855146241 100644 --- a/js2/src/decode_test.js +++ b/js2/src/decode_test.js @@ -103,7 +103,7 @@ suite('Decode', () => { assert.strictEqual(expected.size, actual.size); expected.forEach((v, k) => { assert.isTrue(actual.has(k)); - assert.strictEqual(v, actual.get(k)); + assert.deepEqual(v, actual.get(k)); }); } @@ -182,6 +182,42 @@ suite('Decode', () => { assert.deepEqual({x: 42, s: 'hi', b: true, _typeRef: tr}, v); }); + test('read value map of uint64 to uint32', async () => { + let ms = new MemoryStore(); + let a = [Kind.Value, Kind.Map, Kind.UInt64, Kind.UInt32, [0, 1, 2, 3]]; + let r = new JsonArrayReader(a, ms); + let v = await r.readTopLevelValue(); + + let m = new Map(); + m.set(0, 1); + m.set(2, 3); + + assertMapsEqual(m, v); + }); + + test('test read map of string to struct', async () => { + let ms = new MemoryStore(); + let tr = makeStructTypeRef('s', [ + new Field('b', makePrimitiveTypeRef(Kind.Bool), false), + new Field('i', makePrimitiveTypeRef(Kind.Int32), false) + ], []); + + let pkg = new Package([tr], []); + registerPackage(pkg); + + let a = [Kind.Value, Kind.Map, Kind.String, Kind.Unresolved, pkg.ref.toString(), 0, ['foo', true, 3, 'bar', false, 2, 'baz', false, 1]]; + + let r = new JsonArrayReader(a, ms); + let v = await r.readTopLevelValue(); + + let m = new Map(); + m.set('foo', {b: true, i: 3, _typeRef: tr}); + m.set('bar', {b: false, i: 2, _typeRef: tr}); + m.set('baz', {b: false, i: 1, _typeRef: tr}); + + assertMapsEqual(m, v); + }); + test('decodeNomsValue', async () => { let chunk = Chunk.fromString(`t [${Kind.Value}, ${Kind.Set}, ${Kind.UInt16}, [0, 1, 2, 3]]`); let v = await decodeNomsValue(chunk, new MemoryStore()); From edac9907a4cbaa74c2a3363d9d7c0b3e5b88d9e4 Mon Sep 17 00:00:00 2001 From: Rafael Weinstein Date: Tue, 3 Nov 2015 22:23:26 -0800 Subject: [PATCH 2/2] moar --- js2/src/decode_test.js | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/js2/src/decode_test.js b/js2/src/decode_test.js index a855146241..16df388ff7 100644 --- a/js2/src/decode_test.js +++ b/js2/src/decode_test.js @@ -182,19 +182,6 @@ suite('Decode', () => { assert.deepEqual({x: 42, s: 'hi', b: true, _typeRef: tr}, v); }); - test('read value map of uint64 to uint32', async () => { - let ms = new MemoryStore(); - let a = [Kind.Value, Kind.Map, Kind.UInt64, Kind.UInt32, [0, 1, 2, 3]]; - let r = new JsonArrayReader(a, ms); - let v = await r.readTopLevelValue(); - - let m = new Map(); - m.set(0, 1); - m.set(2, 3); - - assertMapsEqual(m, v); - }); - test('test read map of string to struct', async () => { let ms = new MemoryStore(); let tr = makeStructTypeRef('s', [