diff options
Diffstat (limited to 'src/js/tests/specs/jquery-plugins.js')
-rw-r--r-- | src/js/tests/specs/jquery-plugins.js | 62 |
1 files changed, 59 insertions, 3 deletions
diff --git a/src/js/tests/specs/jquery-plugins.js b/src/js/tests/specs/jquery-plugins.js index 7fc196b..2f33b1a 100644 --- a/src/js/tests/specs/jquery-plugins.js +++ b/src/js/tests/specs/jquery-plugins.js @@ -86,7 +86,34 @@ describe('jQuery plugins', function () { }); it('filters out everything', function () { - expect($t.notColorSet(['#ffffff', '#000000', '#e1e1e1']).length).toEqual(0); + expect( + $t.notColorSet(['#ffffff', '#000000', '#e1e1e1']).length).toEqual(0 + ); + }); + }); + + describe('fiveui.jquery.cssIs', function () { + var htm = '<p style="color: #000000; background-color: #232323">foo</p>' + + '<p style="color: #ffffff; font-size: 5em">foo</p>' + + '<p style="color: #e1e1e1; background-color: #141414">foo</p>' + + '<p style="color: #ffffff">foo</p>' + + '<h1 style="color: #ffffff; font-size: 5em">big</h1>'; + var $t = $(htm); + + it('filters out colors', function () { + expect($t.cssIs('color', + ['#ffffff', '#000000'], + fiveui.color.colorToHexWithDefault).length).toEqual(4); + }); + + it('filters out background-colors', function () { + expect($t.cssIs('background-color', + ['#141414', '#232323'], + fiveui.color.colorToHexWithDefault).length).toEqual(2); + }); + + it('filters out elements of different type', function () { + expect($t.cssIs('font-size', ['5em']).length).toEqual(2); }); }); @@ -99,11 +126,15 @@ describe('jQuery plugins', function () { var $t = $(htm); it('filters out colors', function () { - expect($t.cssIsNot('color', ['#ffffff', '#000000'], fiveui.color.colorToHexWithDefault).length).toEqual(1); + expect($t.cssIsNot('color', + ['#ffffff', '#000000'], + fiveui.color.colorToHexWithDefault).length).toEqual(1); }); it('filters out background-colors', function () { - expect($t.cssIsNot('background-color', ['#141414', '#232323'], fiveui.color.colorToHexWithDefault).length).toEqual(3); + expect($t.cssIsNot('background-color', + ['#141414', '#232323'], + fiveui.color.colorToHexWithDefault).length).toEqual(3); }); it('filters out elements of different type', function () { @@ -111,6 +142,31 @@ describe('jQuery plugins', function () { }); }); + describe('fiveui.jquery.attrFilter', function () { + var isEmpty = function (s) { return $.trim(s) == ""; }; + + it('filters for zero elements with empty alt', function () { + var $elt = $('<a href="foo" alt="bar"><a href="beel" alt="bar">'); + expect($elt.attrFilter('alt', isEmpty).length).toEqual(0); + }); + + it('filters for one element with empty alt', function () { + var $elt = $('<a href="foo" alt=""><a href="beel" alt="bar">'); + expect($elt.attrFilter('alt', isEmpty).length).toEqual(1); + }); + + it('filters out elements that don\'t have the attribute', function () { + var $elt = $('<a href="foo"><a href="beel">'); + expect($elt.attrFilter('alt', isEmpty).length).toEqual(0); + }); + + it('filters for elements with alt containing foo', function () { + var hasFoo = function (s) { return /foo/.test(s); }; + var $elt = $('<a href="foo" alt="barfoo"><a href="beel" alt="bar">'); + expect($elt.attrFilter('alt', hasFoo).length).toEqual(1); + }); + }); + describe('fiveui.jquery.linksTo', function () { it('filters out elements with no href', function () { expect($('<p>foo</p>').linksTo('bar').length).toEqual(0); |