Как стать автором
Обновить
2
0
Alex r. @saks

Пользователь

Отправить сообщение

Как «честно» симулировать события

Время на прочтение 1 мин
Количество просмотров 719
Здравствуй уважаемое хабрасообщество.
Не так давно я начал заморачиваться не только тестированием кода на ruby, но и js, которого становиться слишком много в проектах. Со
временем добрался и до IU на js, а для его тестирования понадобилось симулировать всяко-разные события. Поискав, нашёл в одной из библиотек на jquery решение. В расширениях для тестирования была искомая библиотечка для симуляции событий. Но вот незадача, мы используем prototype (я закоренелый рубист и оно мне нравиться), а не jquery.

Немного поразмыслив я решил подправить сие, для использования, как plugin к prototype. Что из этого получилось? Что ж, мне очень помогло в тестах. Если Вы тоже сторонник тестируемого кода — Вам тоже будет полезно.

В использовании выглядит это примерно вот так:

$('foo').simulate('keypress', Event.KEY_RETURN);

$('foo').simulate("drag", {
dx: 10,
dy: 0,
onComplete: function(element){
alert('drag simulation $(' + element.id + ')');
}
});


Я намеренно расширял Element, а не Event — мне так кажется логичнее, хотя это можно и обсудить. Сжатая версия весит 3K, с документацией 7K. Git

Для почитателей jquery — выше ссылка.
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 10

Информация

В рейтинге
Не участвует
Откуда
Vernon, British Columbia, Канада
Дата рождения
Зарегистрирован
Активность