403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/ui/install/js/ui/text-editor/test/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/ui/install/js/ui/text-editor/test/text-parser.js
import { SmileyParser } from '../src/plugins/smiley/smiley-parser';
import Smiley from '../src/plugins/smiley/smiley';

const smileys = [
	{
		name: 'С улыбкой',
		image: '/upload/main/smiles/2/bx_smile_smile.png',
		typing: ':)',
		width: 20,
		height: 20,
	},
	{
		name: 'С улыбкой',
		image: '/upload/main/smiles/2/bx_smile_smile.png',
		typing: ':-)',
		width: 20,
		height: 20,
	},
	{
		name: 'Шутливо',
		image: '/upload/main/smiles/2/bx_smile_wink.png',
		typing: ';)',
		width: 20,
		height: 20,
	},
	{
		name: 'Шутливо',
		image: '/upload/main/smiles/2/bx_smile_wink.png',
		typing: ';-)',
		width: 20,
		height: 20,
	},
	{
		name: 'Широкая улыбка',
		image: '/upload/main/smiles/2/bx_smile_biggrin.png',
		typing: ':D',
		width: 20,
		height: 20,
	},
	{
		name: 'Широкая улыбка',
		image: '/upload/main/smiles/2/bx_smile_biggrin.png',
		typing: ':-D',
		width: 20,
		height: 20,
	},
	{
		name: 'Здорово',
		image: '/upload/main/smiles/2/bx_smile_cool.png',
		typing: '8-)',
		width: 20,
		height: 20,
	},
	{
		name: 'Разочарование',
		image: '/upload/main/smiles/2/bx_smile_facepalm.png',
		typing: ':facepalm:',
		width: 20,
		height: 20,
	},
	{
		name: 'Поцелуй',
		image: '/upload/main/smiles/2/bx_smile_kiss.png',
		typing: ':{}',
		width: 20,
		height: 20,
	},
	{
		name: 'Поцелуй',
		image: '/upload/main/smiles/2/bx_smile_kiss.png',
		typing: ':-{}',
		width: 20,
		height: 20,
	},
	{
		name: 'Печально',
		image: '/upload/main/smiles/2/bx_smile_sad.png',
		typing: ':(',
		width: 20,
		height: 20,
	},
	{
		name: 'Печально',
		image: '/upload/main/smiles/2/bx_smile_sad.png',
		typing: ':-(',
		width: 20,
		height: 20,
	},
	{
		name: 'Скептически',
		image: '/upload/main/smiles/2/bx_smile_neutral.png',
		typing: ':|',
		width: 20,
		height: 20,
	},
	{
		name: 'Скептически',
		image: '/upload/main/smiles/2/bx_smile_neutral.png',
		typing: ':-|',
		width: 20,
		height: 20,
	},
	{
		name: 'Смущенный',
		image: '/upload/main/smiles/2/bx_smile_redface.png',
		typing: ':oops:',
		width: 20,
		height: 20,
	},
	{
		name: 'Очень грустно',
		image: '/upload/main/smiles/2/bx_smile_cry.png',
		typing: ':cry:',
		width: 20,
		height: 20,
	},
	{
		name: 'Очень грустно',
		image: '/upload/main/smiles/2/bx_smile_cry.png',
		typing: ':~(',
		width: 20,
		height: 20,
	},
	{
		name: 'Со злостью',
		image: '/upload/main/smiles/2/bx_smile_evil.png',
		typing: ':evil:',
		width: 20,
		height: 20,
	},
	{
		name: 'Со злостью',
		image: '/upload/main/smiles/2/bx_smile_evil.png',
		typing: '>:-<',
		width: 20,
		height: 20,
	},
	{
		name: 'Удивленно',
		image: '/upload/main/smiles/2/bx_smile_eek.png',
		typing: ':o',
		width: 20,
		height: 20,
	},
	{
		name: 'Удивленно',
		image: '/upload/main/smiles/2/bx_smile_eek.png',
		typing: ':-o',
		width: 20,
		height: 20,
	},
	{
		name: 'Удивленно',
		image: '/upload/main/smiles/2/bx_smile_eek.png',
		typing: ':shock:',
		width: 20,
		height: 20,
	},
	{
		name: 'Смущенно',
		image: '/upload/main/smiles/2/bx_smile_confuse.png',
		typing: ':/',
		width: 20,
		height: 20,
	},
	{
		name: 'Смущенно',
		image: '/upload/main/smiles/2/bx_smile_confuse.png',
		typing: ':-/',
		width: 20,
		height: 20,
	},
	{
		name: 'Идея',
		image: '/upload/main/smiles/2/bx_smile_idea.png',
		typing: ':idea:',
		width: 20,
		height: 20,
	},
	{
		name: 'Вопрос',
		image: '/upload/main/smiles/2/bx_smile_question.png',
		typing: ':?:',
		width: 20,
		height: 20,
	},
	{
		name: 'Восклицание',
		image: '/upload/main/smiles/2/bx_smile_exclaim.png',
		typing: ':!:',
		width: 20,
		height: 20,
	},
	{
		name: 'Нравится',
		image: '/upload/main/smiles/2/bx_smile_like.png',
		typing: ':like:',
		width: 20,
		height: 20,
	},
	{
		name: 'Bue.js',
		image: '/upload/main/smiles/3/bue.png',
		typing: ':bue:',
		width: 128,
		height: 128,
	},
	{
		name: 'Null',
		image: '/upload/main/smiles/3/null.png',
		typing: ':bitrix/null:',
		width: 128,
		height: 128,
	},
	{
		name: 'ORM',
		image: '/upload/main/smiles/3/orm.png',
		typing: ':bitrix/orm:',
		width: 128,
		height: 128,
	},
	{
		name: 'Taras',
		image: '/upload/main/smiles/3/Screenshot 2023-12-27 at 17.55.48.png',
		typing: ':taras:',
		width: 103,
		height: 34,
	},
	{
		name: 'Oleg',
		image: '/upload/main/smiles/3/Screenshot 2023-12-28 at 10.09.12.png',
		typing: ':oleg:',
		width: 91,
		height: 127,
	},
];

const smileyParser = new SmileyParser(smileys.map((smiley) => new Smiley(smiley)));

describe('Text Parser', () => {
	it('should parse smileys', () => {
		const tests = [
			[':)', [[0, 2]]],
			['Text:)', []],
			['Text :)', [[5, 7]]],
			[':)Text', []],
			[':) Text', [[0, 2]]],
			[':)Text:)', []],
			[':) Text :)', [[0, 2], [8, 10]]],
			['Text :) Text', [[5, 7]]],
			['Text.:) Text.:)', [[5, 7], [13, 15]]],
			[':):):):)', [[0, 2], [2, 4], [4, 6], [6, 8]]],
			[':):-):):-{}', [[0, 2], [2, 5], [5, 7], [7, 11]]],
			[':) :-) :) :-{}', [[0, 2], [3, 6], [7, 9], [10, 14]]],
			[':);):D8-)', [[0, 2], [2, 4], [4, 6], [6, 9]]],
			['Привет!:bitrix/null:', [[7, 20]]],
			['Привет!:bitrix/null::)', [[7, 20], [20, 22]]],
			['>:-<>:-<', [[0, 4], [4, 8]]],
			['8-):D8-):D8-)8-):D text :D', [[0, 3], [3, 5], [5, 8], [8, 10], [10, 13], [13, 16], [16, 18], [24, 26]]],
			['>:-<8-)>:-<', [[0, 4], [4, 7], [7, 11]]],
			[':oops:', [[0, 6]]],
			[':o', [[0, 2]]],
			[':o:oops:', [[0, 2], [2, 8]]],
			[':oops::o', [[0, 6], [6, 8]]],
			[':oops::o', [[0, 6], [6, 8]]],
			[':oleg::o:oleg::o text :):):o text :oleg:', [[0, 6], [6, 8], [8, 14], [14, 16], [22, 24], [24, 26], [26, 28], [34, 40]]],
		];

		tests.forEach((test) => {
			const [text, result] = test;
			const splits = smileyParser.parse(text);
			const expected = result.map((entry) => {
				return {
					start: entry[0],
					end: entry[1],
				};
			});

			assert.deepEqual(splits, expected);
		});
	});
});

Youez - 2016 - github.com/yon3zu
LinuXploit