Установить высоту элемента в PhantomJS

Как установить высоту элемента при тестировании в PhantomJS?

Я тестирую на Karma с использованием Jasmine Framework и работаю в браузере PhantomJS без головы. Я пытаюсь проверить директиву AngularJS, касающуюся «бесконечной прокрутки» (автоматическая загрузка элементов, когда пользователь прокручивает около нижней части элемента контейнера). Я не использую jQuery, и я не хочу (если нет другого пути). Я использую свойства .clientHeight , .scrollTop и .scrollHeight . Моя директива работает как положено, по крайней мере, в Chrome.

Я попытался настроить тест для своей директивы, но не могу найти способ создать элемент с ненулевой высотой. Следующий код не доставляет мне радости:

describe('something', function () {
    it('works with element height', inject(function ($document) {
        var el = angular.element('<div>Lorem ipsum...</div>')[0];
        $document.append(el);
        // size of non-empty block element should be non-zero by default
        expect(el.clientHeight).not.toBe(0);
        expect(el.scrollHeight).not.toBe(0);
        // it should certainly be non-zero after the height is set manually
        el.style.height = '999px';
        expect(el.clientHeight).not.toBe(0);
        expect(el.scrollHeight).not.toBe(0);
    }));
});

Что я делаю не так? Можно ли сделать то, что я пытаюсь сделать?

Короткий ответ

Установка высоты элемента с помощью element.style.height работает просто отлично. Я просто не правильно добавил элемент в тело документа.

10
задан hon2a 18 August 2014 в 07:08
поделиться