|
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('"}'); |
|
chunks.end(); |
|
}); |
|
}); |
|
}); |
|
|