Files
documentation/node_modules/rtl-detect/__test__/lib/rtl-detect-private.spec.js
2024-03-22 03:47:51 +05:30

158 lines
4.8 KiB
JavaScript

/* global describe, it, expect */
/**
* Copyright 2015, Yahoo! Inc.
* Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
*/
'use strict';
var RtlDetect = require('../../' + 'lib/rtl-detect');
describe('rtl-detect', function () {
describe('private', function () {
it('_escapeRegExpPattern()', function () {
expect(RtlDetect._escapeRegExpPattern()).toBeUndefined();
expect(RtlDetect._escapeRegExpPattern(null)).toBeNull();
expect(RtlDetect._escapeRegExpPattern('')).toEqual('');
expect(RtlDetect._escapeRegExpPattern(' ')).toEqual(' ');
expect(RtlDetect._escapeRegExpPattern('[CODE]')).toEqual('\\[CODE\\]');
expect(RtlDetect._escapeRegExpPattern('.*+^$[]()|{},-:?\\')).toEqual('\\.\\*\\+\\^\\$\\[\\]\\(\\)\\|\\{\\}\\,\\-\\:\\?\\\\');
});
it('_toLowerCase()', function () {
expect(RtlDetect._toLowerCase()).toBeUndefined();
expect(RtlDetect._toLowerCase(null)).toBeUndefined();
expect(RtlDetect._toLowerCase(null, true)).toBeNull();
expect(RtlDetect._toLowerCase('')).toEqual('');
expect(RtlDetect._toLowerCase(' ')).toEqual(' ');
expect(RtlDetect._toLowerCase('Test Code')).toEqual('test code');
expect(RtlDetect._toLowerCase('TEST CODE')).toEqual('test code');
expect(RtlDetect._toLowerCase('test code')).toEqual('test code');
});
it('_toUpperCase()', function () {
expect(RtlDetect._toUpperCase()).toBeUndefined();
expect(RtlDetect._toUpperCase(null)).toBeUndefined();
expect(RtlDetect._toUpperCase(null, true)).toBeNull();
expect(RtlDetect._toUpperCase('')).toEqual('');
expect(RtlDetect._toUpperCase(' ')).toEqual(' ');
expect(RtlDetect._toUpperCase('Test Code')).toEqual('TEST CODE');
expect(RtlDetect._toUpperCase('TEST CODE')).toEqual('TEST CODE');
expect(RtlDetect._toUpperCase('test code')).toEqual('TEST CODE');
});
it('_trim()', function () {
expect(RtlDetect._trim()).toBeUndefined();
expect(RtlDetect._trim(undefined, '-')).toBeUndefined();
expect(RtlDetect._trim(null)).toBeUndefined();
expect(RtlDetect._trim(null, '-')).toBeUndefined();
expect(RtlDetect._trim(null, true)).toBeNull();
expect(RtlDetect._trim(null, '-', true)).toBeNull();
expect(RtlDetect._trim('')).toEqual('');
expect(RtlDetect._trim('', '-')).toEqual('');
expect(RtlDetect._trim(' ')).toEqual('');
expect(RtlDetect._trim('-', '-')).toEqual('');
expect(RtlDetect._trim(' TRIM CODE ')).toEqual('TRIM CODE');
expect(RtlDetect._trim('-TRIM-CODE-', '-')).toEqual('TRIM-CODE');
expect(RtlDetect._trim('-_TRIM-_CODE_-', ['-', '_'])).toEqual('TRIM-_CODE');
});
it('_parseLocale()', function () {
expect(RtlDetect._parseLocale()).toBeUndefined();
expect(RtlDetect._parseLocale(null)).toBeUndefined();
expect(RtlDetect._parseLocale('')).toBeUndefined();
expect(RtlDetect._parseLocale(' ')).toBeUndefined();
expect(RtlDetect._parseLocale('1234')).toBeUndefined();
expect(RtlDetect._parseLocale('1a2B3c4')).toBeUndefined();
expect(RtlDetect._parseLocale('en')).toStrictEqual({
lang: 'en',
countryCode: undefined
});
expect(RtlDetect._parseLocale('en-US')).toStrictEqual({
lang: 'en',
countryCode: 'US'
});
expect(RtlDetect._parseLocale('en_US')).toStrictEqual({
lang: 'en',
countryCode: 'US'
});
expect(RtlDetect._parseLocale('en-us')).toStrictEqual({
lang: 'en',
countryCode: 'US'
});
expect(RtlDetect._parseLocale('EN-US')).toStrictEqual({
lang: 'en',
countryCode: 'US'
});
expect(RtlDetect._parseLocale('EN-US')).toStrictEqual({
lang: 'en',
countryCode: 'US'
});
});
it('_BIDI_RTL_LANGS', function () {
expect(RtlDetect._BIDI_RTL_LANGS).toStrictEqual([
'ae',
'ar',
'arc',
'bcc',
'bqi',
'ckb',
'dv',
'fa',
'glk',
'he',
'ku',
'mzn',
'nqo',
'pnb',
'prs',
'ps',
'sd',
'ug',
'ur',
'yi'
]);
});
});
});