describe('CSS3 workarounds', function() { 'use strict'; var pointerEventsNone = window.pointerEventsNone; describe('pointer-events', function() { beforeEach(function() { var html = "<a href='#' class='is-disabled'>What wondrous life in this I lead</a>"; setFixtures(html); }); it('should not prevent default when pointerEvents is supported', function() { // In case this test suite is being run in a browser where // 'pointerEvents' is not supported, mock out document.body.style // so that it includes 'pointerEvents' var mockBodyStyle = document.body.style; if (!('pointerEvents' in mockBodyStyle)) { mockBodyStyle['pointerEvents'] = ''; } pointerEventsNone('.is-disabled', mockBodyStyle); spyOnEvent('.is-disabled', 'click'); $('.is-disabled').click(); expect('click').not.toHaveBeenPreventedOn('.is-disabled'); }); it('should prevent default when pointerEvents is not Supported', function() { pointerEventsNone('.is-disabled', {}); spyOnEvent('.is-disabled', 'click'); $('.is-disabled').click(); expect('click').toHaveBeenPreventedOn('.is-disabled'); }); }); });