Тестирование для фокусировки директивы AngularJS

Как вы можете проверить фокус в директиве AngularJS? Я ожидал бы следующее работать:

describe('focus test', function(){
    it('should focus element', function(){
        var element = $('');
        // Append to body because otherwise it can't be foccused
        element.appendTo(document.body);
        element.focus();
        expect(element.is(':focus')).toBe(true);
    });
});

Тем не менее, это работает только в IE, это не работает в Firefox и Chrome

Обновление: решение @S McCrohan работает. Используя это, я создалtoHaveFocus' согласовани:

beforeEach(function(){
    this.addMatchers({
        toHaveFocus: function(){
            this.message = function(){
                return 'Expected \'' + angular.mock.dump(this.actual) + '\' to have focus';
            };

            return document.activeElement === this.actual[0];
        }
    });
});

Который используется следующим образом:

expect(myElement).toHaveFocus();

Обратите внимание, что для тестов, связанных с фокусом, скомпилированный элемент должен быть присоединен к DOM, что можно сделать так:

myElement.appendTo(document.body);

Ответы на вопрос(2)

Ваш ответ на вопрос