| OLD | NEW |
| 1 // Protocol Buffers - Google's data interchange format | 1 // Protocol Buffers - Google's data interchange format |
| 2 // Copyright 2008 Google Inc. All rights reserved. | 2 // Copyright 2008 Google Inc. All rights reserved. |
| 3 // https://developers.google.com/protocol-buffers/ | 3 // https://developers.google.com/protocol-buffers/ |
| 4 // | 4 // |
| 5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
| 6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
| 7 // met: | 7 // met: |
| 8 // | 8 // |
| 9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
| 10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 }); | 359 }); |
| 360 | 360 |
| 361 | 361 |
| 362 /** | 362 /** |
| 363 * Tests 64-bit fields that are handled as strings. | 363 * Tests 64-bit fields that are handled as strings. |
| 364 */ | 364 */ |
| 365 it('testStringInt64Fields', function() { | 365 it('testStringInt64Fields', function() { |
| 366 var writer = new jspb.BinaryWriter(); | 366 var writer = new jspb.BinaryWriter(); |
| 367 | 367 |
| 368 var testSignedData = [ | 368 var testSignedData = [ |
| 369 '2730538252207801776', | 369 '2730538252207801776', |
| 370 '-2688470994844604560', | 370 '-2688470994844604560', |
| 371 '3398529779486536359', | 371 '3398529779486536359', |
| 372 '3568577411627971000', | 372 '3568577411627971000', |
| 373 '272477188847484900', | 373 '272477188847484900', |
| 374 '-6649058714086158188', | 374 '-6649058714086158188', |
| 375 '-7695254765712060806', | 375 '-7695254765712060806', |
| 376 '-4525541438037104029', | 376 '-4525541438037104029', |
| 377 '-4993706538836508568', | 377 '-4993706538836508568', |
| 378 '4990160321893729138' | 378 '4990160321893729138' |
| 379 ]; | 379 ]; |
| 380 var testUnsignedData = [ | 380 var testUnsignedData = [ |
| 381 '7822732630241694882', | 381 '7822732630241694882', |
| 382 '6753602971916687352', | 382 '6753602971916687352', |
| 383 '2399935075244442116', | 383 '2399935075244442116', |
| 384 '8724292567325338867', | 384 '8724292567325338867', |
| 385 '16948784802625696584', | 385 '16948784802625696584', |
| 386 '4136275908516066934', | 386 '4136275908516066934', |
| 387 '3575388346793700364', | 387 '3575388346793700364', |
| 388 '5167142028379259461', | 388 '5167142028379259461', |
| 389 '1557573948689737699', | 389 '1557573948689737699', |
| 390 '17100725280812548567' | 390 '17100725280812548567' |
| 391 ]; | 391 ]; |
| 392 | 392 |
| 393 for (var i = 0; i < testSignedData.length; i++) { | 393 for (var i = 0; i < testSignedData.length; i++) { |
| 394 writer.writeInt64String(2 * i + 1, testSignedData[i]); | 394 writer.writeInt64String(2 * i + 1, testSignedData[i]); |
| 395 writer.writeUint64String(2 * i + 2, testUnsignedData[i]); | 395 writer.writeUint64String(2 * i + 2, testUnsignedData[i]); |
| 396 } | 396 } |
| 397 | 397 |
| 398 var reader = jspb.BinaryReader.alloc(writer.getResultBuffer()); | 398 var reader = jspb.BinaryReader.alloc(writer.getResultBuffer()); |
| 399 | 399 |
| 400 for (var i = 0; i < testSignedData.length; i++) { | 400 for (var i = 0; i < testSignedData.length; i++) { |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 528 } | 528 } |
| 529 } | 529 } |
| 530 }); | 530 }); |
| 531 | 531 |
| 532 | 532 |
| 533 /** | 533 /** |
| 534 * Tests nested messages. | 534 * Tests nested messages. |
| 535 */ | 535 */ |
| 536 it('testNesting', function() { | 536 it('testNesting', function() { |
| 537 var writer = new jspb.BinaryWriter(); | 537 var writer = new jspb.BinaryWriter(); |
| 538 var dummyMessage = /** @type {!jspb.BinaryMessage} */({}); | 538 var dummyMessage = /** @type {!jspb.BinaryMessage} */({}); |
| 539 | 539 |
| 540 writer.writeInt32(1, 100); | 540 writer.writeInt32(1, 100); |
| 541 | 541 |
| 542 // Add one message with 3 int fields. | 542 // Add one message with 3 int fields. |
| 543 writer.writeMessage(2, dummyMessage, function() { | 543 writer.writeMessage(2, dummyMessage, function() { |
| 544 writer.writeInt32(3, 300); | 544 writer.writeInt32(3, 300); |
| 545 writer.writeInt32(4, 400); | 545 writer.writeInt32(4, 400); |
| 546 writer.writeInt32(5, 500); | 546 writer.writeInt32(5, 500); |
| 547 }); | 547 }); |
| 548 | 548 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 619 writer.writeInt32(3, sentinel); | 619 writer.writeInt32(3, sentinel); |
| 620 writer.writeFloat(3, 1); | 620 writer.writeFloat(3, 1); |
| 621 writer.writeFixed32(3, 1); | 621 writer.writeFixed32(3, 1); |
| 622 writer.writeSfixed32(3, 1); | 622 writer.writeSfixed32(3, 1); |
| 623 | 623 |
| 624 // Write delimited fields. | 624 // Write delimited fields. |
| 625 writer.writeInt32(4, sentinel); | 625 writer.writeInt32(4, sentinel); |
| 626 writer.writeBytes(4, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); | 626 writer.writeBytes(4, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); |
| 627 writer.writeString(4, 'The quick brown fox jumps over the lazy dog'); | 627 writer.writeString(4, 'The quick brown fox jumps over the lazy dog'); |
| 628 | 628 |
| 629 // Write a group with a nested group inside. We use the internal | 629 // Write a group with a nested group inside. |
| 630 // .rawWriteVarint() to ensure the tested wire data is what we want, | |
| 631 // independently of any serialization logic. | |
| 632 writer.writeInt32(5, sentinel); | 630 writer.writeInt32(5, sentinel); |
| 633 // Start group, field 5. | 631 var dummyMessage = /** @type {!jspb.BinaryMessage} */({}); |
| 634 writer.rawWriteVarint( | 632 writer.writeGroup(5, dummyMessage, function() { |
| 635 (5 << 3) + jspb.BinaryConstants.WireType.START_GROUP); | 633 writer.writeInt64(42, 42); |
| 636 // Varint, field 42. | 634 writer.writeGroup(6, dummyMessage, function() { |
| 637 writer.rawWriteVarint( | 635 writer.writeInt64(84, 42); |
| 638 (42 << 3) + jspb.BinaryConstants.WireType.VARINT); | 636 }); |
| 639 // Varint data. | 637 }); |
| 640 writer.rawWriteVarint(42); | |
| 641 // Start group, field 6. | |
| 642 writer.rawWriteVarint( | |
| 643 (6 << 3) + jspb.BinaryConstants.WireType.START_GROUP); | |
| 644 // Varint, field 84. | |
| 645 writer.rawWriteVarint( | |
| 646 (84 << 3) + jspb.BinaryConstants.WireType.VARINT); | |
| 647 writer.rawWriteVarint(42); | |
| 648 // End group, field 6. | |
| 649 writer.rawWriteVarint( | |
| 650 (6 << 3) + jspb.BinaryConstants.WireType.END_GROUP); | |
| 651 // End group, field 5. | |
| 652 writer.rawWriteVarint( | |
| 653 (5 << 3) + jspb.BinaryConstants.WireType.END_GROUP); | |
| 654 | 638 |
| 655 // Write final sentinel. | 639 // Write final sentinel. |
| 656 writer.writeInt32(6, sentinel); | 640 writer.writeInt32(6, sentinel); |
| 657 | 641 |
| 658 var reader = jspb.BinaryReader.alloc(writer.getResultBuffer()); | 642 var reader = jspb.BinaryReader.alloc(writer.getResultBuffer()); |
| 659 | 643 |
| 660 function skip(field, count) { | 644 function skip(field, count) { |
| 661 for (var i = 0; i < count; i++) { | 645 for (var i = 0; i < count; i++) { |
| 662 reader.nextField(); | 646 reader.nextField(); |
| 663 if (field != reader.getFieldNumber()) throw 'fail!'; | 647 if (field != reader.getFieldNumber()) throw 'fail!'; |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 880 reader.runReadCallback('readCallback'); | 864 reader.runReadCallback('readCallback'); |
| 881 }); | 865 }); |
| 882 | 866 |
| 883 reader.nextField(); | 867 reader.nextField(); |
| 884 assertEquals(7, reader.getFieldNumber()); | 868 assertEquals(7, reader.getFieldNumber()); |
| 885 assertEquals(700, reader.readInt32()); | 869 assertEquals(700, reader.readInt32()); |
| 886 | 870 |
| 887 assertEquals(false, reader.nextField()); | 871 assertEquals(false, reader.nextField()); |
| 888 }); | 872 }); |
| 889 }); | 873 }); |
| OLD | NEW |