1'use strict';
2
3const common = require('../../common');
4const assert = require('assert');
5const { parseEncoding } = require(`./build/${common.buildType}/binding`);
6
7
8assert.strictEqual(parseEncoding('ascii'), 'ASCII');
9assert.strictEqual(parseEncoding('ASCII'), 'ASCII');
10assert.strictEqual(parseEncoding('base64'), 'BASE64');
11assert.strictEqual(parseEncoding('BASE64'), 'BASE64');
12assert.strictEqual(parseEncoding('base64url'), 'BASE64URL');
13assert.strictEqual(parseEncoding('BASE64URL'), 'BASE64URL');
14assert.strictEqual(parseEncoding('binary'), 'LATIN1');
15assert.strictEqual(parseEncoding('BINARY'), 'LATIN1');
16assert.strictEqual(parseEncoding('buffer'), 'BUFFER');
17assert.strictEqual(parseEncoding('BUFFER'), 'BUFFER');
18assert.strictEqual(parseEncoding('hex'), 'HEX');
19assert.strictEqual(parseEncoding('HEX'), 'HEX');
20assert.strictEqual(parseEncoding('latin1'), 'LATIN1');
21assert.strictEqual(parseEncoding('LATIN1'), 'LATIN1');
22
23// ucs2 variations
24assert.strictEqual(parseEncoding('ucs2'), 'UCS2');
25assert.strictEqual(parseEncoding('ucs-2'), 'UCS2');
26assert.strictEqual(parseEncoding('UCS2'), 'UCS2');
27assert.strictEqual(parseEncoding('UCS-2'), 'UCS2');
28
29// utf8 variations
30assert.strictEqual(parseEncoding('utf8'), 'UTF8');
31assert.strictEqual(parseEncoding('utf-8'), 'UTF8');
32assert.strictEqual(parseEncoding('UTF8'), 'UTF8');
33assert.strictEqual(parseEncoding('UTF-8'), 'UTF8');
34
35// utf16le variations
36assert.strictEqual(parseEncoding('utf16le'), 'UCS2');
37assert.strictEqual(parseEncoding('utf-16le'), 'UCS2');
38assert.strictEqual(parseEncoding('UTF16LE'), 'UCS2');
39assert.strictEqual(parseEncoding('UTF-16LE'), 'UCS2');
40
41// unknown cases
42assert.strictEqual(parseEncoding(''), 'UNKNOWN');
43assert.strictEqual(parseEncoding('asCOO'), 'UNKNOWN');
44assert.strictEqual(parseEncoding('hux'), 'UNKNOWN');
45assert.strictEqual(parseEncoding('utf-buffer'), 'UNKNOWN');
46assert.strictEqual(parseEncoding('utf-16leNOT'), 'UNKNOWN');
47assert.strictEqual(parseEncoding('linary'), 'UNKNOWN');
48assert.strictEqual(parseEncoding('luffer'), 'UNKNOWN');
49