react / wstein / node_modules / browserify / node_modules / JSONStream / node_modules / jsonparse / test / boundary.js
80540 viewsvar test = require('tape');1var Parser = require('../');23test('2 byte utf8 \'De\' character: д', function (t) {4t.plan(1);56var p = new Parser();7p.onValue = function (value) {8t.equal(value, 'д');9};1011var de_buffer = new Buffer([0xd0, 0xb4]);1213p.write('"');14p.write(de_buffer);15p.write('"');1617});1819test('3 byte utf8 \'Han\' character: 我', function (t) {20t.plan(1);2122var p = new Parser();23p.onValue = function (value) {24t.equal(value, '我');25};2627var han_buffer = new Buffer([0xe6, 0x88, 0x91]);28p.write('"');29p.write(han_buffer);30p.write('"');31});3233test('4 byte utf8 character (unicode scalar U+2070E): 𠜎', function (t) {34t.plan(1);3536var p = new Parser();37p.onValue = function (value) {38t.equal(value, '𠜎');39};4041var Ux2070E_buffer = new Buffer([0xf0, 0xa0, 0x9c, 0x8e]);42p.write('"');43p.write(Ux2070E_buffer);44p.write('"');45});4647test('3 byte utf8 \'Han\' character chunked inbetween 2nd and 3rd byte: 我', function (t) {48t.plan(1);4950var p = new Parser();51p.onValue = function (value) {52t.equal(value, '我');53};5455var han_buffer_first = new Buffer([0xe6, 0x88]);56var han_buffer_second = new Buffer([0x91]);57p.write('"');58p.write(han_buffer_first);59p.write(han_buffer_second);60p.write('"');61});6263test('4 byte utf8 character (unicode scalar U+2070E) chunked inbetween 2nd and 3rd byte: 𠜎', function (t) {64t.plan(1);6566var p = new Parser();67p.onValue = function (value) {68t.equal(value, '𠜎');69};7071var Ux2070E_buffer_first = new Buffer([0xf0, 0xa0]);72var Ux2070E_buffer_second = new Buffer([0x9c, 0x8e]);73p.write('"');74p.write(Ux2070E_buffer_first);75p.write(Ux2070E_buffer_second);76p.write('"');77});7879test('1-4 byte utf8 character string chunked inbetween random bytes: Aж文𠜱B', function (t) {80t.plan(1);8182var p = new Parser();83p.onValue = function (value) {84t.equal(value, 'Aж文𠜱B');85};8687var eclectic_buffer = new Buffer([0x41, // A880xd0, 0xb6, // ж890xe6, 0x96, 0x87, // 文900xf0, 0xa0, 0x9c, 0xb1, // 𠜱910x42]); // B9293var rand_chunk = Math.floor(Math.random() * (eclectic_buffer.length));94var first_buffer = eclectic_buffer.slice(0, rand_chunk);95var second_buffer = eclectic_buffer.slice(rand_chunk);9697//console.log('eclectic_buffer: ' + eclectic_buffer)98//console.log('sliced from 0 to ' + rand_chunk);99//console.log(first_buffer);100//console.log('then sliced from ' + rand_chunk + ' to the end');101//console.log(second_buffer);102103console.log('chunked after offset ' + rand_chunk);104p.write('"');105p.write(first_buffer);106p.write(second_buffer);107p.write('"');108109});110111