Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/node_modules/saslprep/test/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
'use strict'; const saslprep = require('..'); const chr = String.fromCodePoint; test('should work with liatin letters', () => { const str = 'user'; expect(saslprep(str)).toEqual(str); }); test('should work be case preserved', () => { const str = 'USER'; expect(saslprep(str)).toEqual(str); }); test('should work with high code points (> U+FFFF)', () => { const str = '\uD83D\uDE00'; expect(saslprep(str, { allowUnassigned: true })).toEqual(str); }); test('should remove `mapped to nothing` characters', () => { expect(saslprep('I\u00ADX')).toEqual('IX'); }); test('should replace `Non-ASCII space characters` with space', () => { expect(saslprep('a\u00A0b')).toEqual('a\u0020b'); }); test('should normalize as NFKC', () => { expect(saslprep('\u00AA')).toEqual('a'); expect(saslprep('\u2168')).toEqual('IX'); }); test('should throws when prohibited characters', () => { // C.2.1 ASCII control characters expect(() => saslprep('a\u007Fb')).toThrow(); // C.2.2 Non-ASCII control characters expect(() => saslprep('a\u06DDb')).toThrow(); // C.3 Private use expect(() => saslprep('a\uE000b')).toThrow(); // C.4 Non-character code points expect(() => saslprep(`a${chr(0x1fffe)}b`)).toThrow(); // C.5 Surrogate codes expect(() => saslprep('a\uD800b')).toThrow(); // C.6 Inappropriate for plain text expect(() => saslprep('a\uFFF9b')).toThrow(); // C.7 Inappropriate for canonical representation expect(() => saslprep('a\u2FF0b')).toThrow(); // C.8 Change display properties or are deprecated expect(() => saslprep('a\u200Eb')).toThrow(); // C.9 Tagging characters expect(() => saslprep(`a${chr(0xe0001)}b`)).toThrow(); }); test('should not containt RandALCat and LCat bidi', () => { expect(() => saslprep('a\u06DD\u00AAb')).toThrow(); }); test('RandALCat should be first and last', () => { expect(() => saslprep('\u0627\u0031\u0628')).not.toThrow(); expect(() => saslprep('\u0627\u0031')).toThrow(); }); test('should handle unassigned code points', () => { expect(() => saslprep('a\u0487')).toThrow(); expect(() => saslprep('a\u0487', { allowUnassigned: true })).not.toThrow(); });