mirror of
https://github.com/bvanroll/yahoo-thing.git
synced 2025-08-29 12:02:48 +00:00
euh
This commit is contained in:
70
node_modules/saslprep/test/index.js
generated
vendored
Normal file
70
node_modules/saslprep/test/index.js
generated
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
import test from 'ava'
|
||||
import saslprep from '../'
|
||||
|
||||
const chr = String.fromCodePoint
|
||||
|
||||
test('should work with liatin letters', (t) => {
|
||||
const str = 'user'
|
||||
t.is(saslprep(str), str)
|
||||
})
|
||||
|
||||
test('should work be case preserved', (t) => {
|
||||
const str = 'USER'
|
||||
t.is(saslprep(str), str)
|
||||
})
|
||||
|
||||
test('should remove `mapped to nothing` characters', (t) => {
|
||||
t.is(saslprep('I\u00ADX'), 'IX')
|
||||
})
|
||||
|
||||
test('should replace `Non-ASCII space characters` with space', (t) => {
|
||||
t.is(saslprep('a\u00A0b'), 'a\u0020b')
|
||||
})
|
||||
|
||||
test('should normalize as NFKC', (t) => {
|
||||
t.is(saslprep('\u00AA'), 'a')
|
||||
t.is(saslprep('\u2168'), 'IX')
|
||||
})
|
||||
|
||||
test('should throws when prohibited characters', (t) => {
|
||||
// C.2.1 ASCII control characters
|
||||
t.throws(() => saslprep('a\u007Fb'))
|
||||
|
||||
// C.2.2 Non-ASCII control characters
|
||||
t.throws(() => saslprep('a\u06DDb'))
|
||||
|
||||
// C.3 Private use
|
||||
t.throws(() => saslprep('a\uE000b'))
|
||||
|
||||
// C.4 Non-character code points
|
||||
t.throws(() => saslprep(`a${chr(0x1FFFE)}b`))
|
||||
|
||||
// C.5 Surrogate codes
|
||||
t.throws(() => saslprep('a\uD800b'))
|
||||
|
||||
// C.6 Inappropriate for plain text
|
||||
t.throws(() => saslprep('a\uFFF9b'))
|
||||
|
||||
// C.7 Inappropriate for canonical representation
|
||||
t.throws(() => saslprep('a\u2FF0b'))
|
||||
|
||||
// C.8 Change display properties or are deprecated
|
||||
t.throws(() => saslprep('a\u200Eb'))
|
||||
|
||||
// C.9 Tagging characters
|
||||
t.throws(() => saslprep(`a${chr(0xE0001)}b`))
|
||||
})
|
||||
|
||||
test('should not containt RandALCat and LCat bidi', (t) => {
|
||||
t.throws(() => saslprep('a\u06DD\u00AAb'))
|
||||
})
|
||||
|
||||
test('RandALCat should be first and last', (t) => {
|
||||
t.notThrows(() => saslprep('\u0627\u0031\u0628'))
|
||||
t.throws(() => saslprep('\u0627\u0031'))
|
||||
})
|
||||
|
||||
test('should handle unassigned code points', (t) => {
|
||||
t.throws(() => saslprep('a\u0487'))
|
||||
t.notThrows(() => saslprep('a\u0487', {allowUnassigned: true}))
|
||||
})
|
Reference in New Issue
Block a user