You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
758 B
JavaScript
33 lines
758 B
JavaScript
7 years ago
|
var B = require('../').Buffer
|
||
|
var test = require('tape')
|
||
|
|
||
|
test('detect utf16 surrogate pairs', function(t) {
|
||
|
var text = '\uD83D\uDE38' + '\uD83D\uDCAD' + '\uD83D\uDC4D'
|
||
|
var buf = new B(text)
|
||
|
t.equal(text, buf.toString())
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('throw on orphaned utf16 surrogate lead code point', function(t) {
|
||
|
var text = '\uD83D\uDE38' + '\uD83D' + '\uD83D\uDC4D'
|
||
|
var err
|
||
|
try {
|
||
|
var buf = new B(text)
|
||
|
} catch (e) {
|
||
|
err = e
|
||
|
}
|
||
|
t.equal(err instanceof URIError, true)
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('throw on orphaned utf16 surrogate trail code point', function(t) {
|
||
|
var text = '\uD83D\uDE38' + '\uDCAD' + '\uD83D\uDC4D'
|
||
|
var err
|
||
|
try {
|
||
|
var buf = new B(text)
|
||
|
} catch (e) {
|
||
|
err = e
|
||
|
}
|
||
|
t.equal(err instanceof URIError, true)
|
||
|
t.end()
|
||
|
})
|