utf16.js 758 B

123456789101112131415161718192021222324252627282930313233
  1. var B = require('../').Buffer
  2. var test = require('tape')
  3. test('detect utf16 surrogate pairs', function(t) {
  4. var text = '\uD83D\uDE38' + '\uD83D\uDCAD' + '\uD83D\uDC4D'
  5. var buf = new B(text)
  6. t.equal(text, buf.toString())
  7. t.end()
  8. })
  9. test('throw on orphaned utf16 surrogate lead code point', function(t) {
  10. var text = '\uD83D\uDE38' + '\uD83D' + '\uD83D\uDC4D'
  11. var err
  12. try {
  13. var buf = new B(text)
  14. } catch (e) {
  15. err = e
  16. }
  17. t.equal(err instanceof URIError, true)
  18. t.end()
  19. })
  20. test('throw on orphaned utf16 surrogate trail code point', function(t) {
  21. var text = '\uD83D\uDE38' + '\uDCAD' + '\uD83D\uDC4D'
  22. var err
  23. try {
  24. var buf = new B(text)
  25. } catch (e) {
  26. err = e
  27. }
  28. t.equal(err instanceof URIError, true)
  29. t.end()
  30. })