File size: 1,039 Bytes
5fae594
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var fs             = require('fs')
  , clarinet       = require('../clarinet.js')
  , chunks         = clarinet.createStream()
  , assert         = require('assert')
  ;

var han_value = '我';
var han_obj = '{"thing":"' + han_value + '"}';
var han_test_obj = '';
var han_buffer_first = new Buffer([0xe6, 0x88]);
var han_buffer_second = new Buffer([0x91]);
var han_buffer_full = new Buffer([0xe6, 0x88, 0x91]);

describe('clarinet', function(){
  describe('#utf8-chunks', function() {
    it('should be able to parse utf8 characters split across data chunks', function (done){
      chunks.on("error", function (err) { done(err); });
      chunks.on("data", function (data) {
        han_test_obj += data;
      });
      chunks.on("end", function () {
        assert.equal(han_obj, han_test_obj);
        done();
      });

      chunks.write('{"thing":"');
      chunks.write(han_buffer_first);
      chunks.write(han_buffer_second);
      //chunks.write(han_buffer_full);
      chunks.write('"}');
      chunks.end();
    });
  });
});