utf8-split.js 945 B

1234567891011121314151617181920212223242526272829303132
  1. var assert = require('assert')
  2. var saxStream = require('../lib/sax').createStream()
  3. var b = new Buffer('误')
  4. saxStream.on('text', function(text) {
  5. assert.equal(text, b.toString())
  6. })
  7. saxStream.write(new Buffer('<test><a>'))
  8. saxStream.write(b.slice(0, 1))
  9. saxStream.write(b.slice(1))
  10. saxStream.write(new Buffer('</a><b>'))
  11. saxStream.write(b.slice(0, 2))
  12. saxStream.write(b.slice(2))
  13. saxStream.write(new Buffer('</b><c>'))
  14. saxStream.write(b)
  15. saxStream.write(new Buffer('</c>'))
  16. saxStream.write(Buffer.concat([new Buffer('<d>'), b.slice(0, 1)]))
  17. saxStream.end(Buffer.concat([b.slice(1), new Buffer('</d></test>')]))
  18. var saxStream2 = require('../lib/sax').createStream()
  19. saxStream2.on('text', function(text) {
  20. assert.equal(text, '�')
  21. });
  22. saxStream2.write(new Buffer('<e>'));
  23. saxStream2.write(new Buffer([0xC0]));
  24. saxStream2.write(new Buffer('</e>'));
  25. saxStream2.write(Buffer.concat([new Buffer('<f>'), b.slice(0,1)]));
  26. saxStream2.end();