X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fjquery%2FcoreTest.js;h=7466c4c6465d65ce62fd4d251f92950f54597dba;hb=84ecf3937b156e7892131481ed6b1df230bbbbc7;hp=78d4a275fdb37645ba34e3a31787cf82ccead227;hpb=5acecf6e2814701f9e22f91f17fcb33ef910e88a;p=jquery.git diff --git a/src/jquery/coreTest.js b/src/jquery/coreTest.js index 78d4a27..7466c4c 100644 --- a/src/jquery/coreTest.js +++ b/src/jquery/coreTest.js @@ -67,13 +67,9 @@ test("attr(String)", function() { ok( $('#form').attr('action').indexOf("formaction") >= 0, 'Check for action attribute' ); }); -test("attr(String, Function|String)", function() { +test("attr(String, Function)", function() { + expect(1); ok( $('#text1').attr('value', function() { return this.id })[0].value == "text1", "Set value from id" ); - ok( $('#text2').attr('value', "${this.id}")[0].value == "text2", "Set value from id" ); - reset(); - $('#text1, #text2').attr({value: "${this.id + 'foobar'}"}); - ok( $('#text1')[0].value == "text1foobar", "Set value from id" ); - ok( $('#text2')[0].value == "text2foobar", "Set value from id" ); }); test("attr(Hash)", function() { @@ -107,19 +103,21 @@ test("attr(String, Object)", function() { ok( document.getElementById('text1').readOnly == false, 'Set readonly attribute' ); }); -test("attr(String, Object)x", function() { - expect(2); - stop(); - $.get('data/dashboard.xml', function(xml) { - var titles = []; - $('tab', xml).each(function() { - titles.push($(this).attr('title')); - }); - ok( titles[0] == 'Location', 'attr() in XML context: Check first title' ); - ok( titles[1] == 'Users', 'attr() in XML context: Check second title' ); - start(); +if ( location.protocol != "file:" ) { + test("attr(String, Object)x", function() { + expect(2); + stop(); + $.get('data/dashboard.xml', function(xml) { + var titles = []; + $('tab', xml).each(function() { + titles.push($(this).attr('title')); + }); + ok( titles[0] == 'Location', 'attr() in XML context: Check first title' ); + ok( titles[1] == 'Users', 'attr() in XML context: Check second title' ); + start(); + }); }); -}); +} test("css(String|Hash)", function() { expect(8); @@ -287,18 +285,6 @@ test("clone()", function() { ok( 'This is a normal link: Yahoo' == $('#en').text(), 'Reassert text for #en' ); }); -test("filter()", function() { - isSet( $("input").filter(":checked").get(), q("radio2", "check1"), "filter(String)" ); - isSet( $("p").filter(["#ap", "#sndp"]).get(), q("ap", "sndp"), "filter(Array<String>)" ); - isSet( $("p").filter(function() { return !$("a", this).length }).get(), q("sndp", "first"), "filter(Function)" ); -}); - -test("not(String)", function() { - ok($("#main > p#ap > a").not("#google").length == 2, "not('selector')") - // TODO: Comma-based selector - //isSet( $("p").not("#ap, #sndp").get(), q("firstp", "en", "sap", "first", "result"), "not('selector, selector')" ); -}); - test("is(String)", function() { expect(22); ok( $('#form').is('form'), 'Check for element: A form must be a form' ); @@ -377,19 +363,62 @@ test("html(String)", function() { ok( pass, "Set HTML" ); }); +test("filter()", function() { + expect(5); + isSet( $("input").filter(":checked").get(), q("radio2", "check1"), "filter(String)" ); + isSet( $("p").filter(["#ap", "#sndp"]).get(), q("ap", "sndp"), "filter(Array<String>)" ); + isSet( $("p").filter("#ap, #sndp").get(), q("ap", "sndp"), "filter('String, String')" ); + isSet( $("p").filter("#ap,#sndp").get(), q("ap", "sndp"), "filter('String,String')" ); + isSet( $("p").filter(function() { return !$("a", this).length }).get(), q("sndp", "first"), "filter(Function)" ); +}); + +test("not(String)", function() { + expect(2); + ok( $("#main > p#ap > a").not("#google").length == 2, "not('selector')" ); + isSet( $("p").not("#ap, #sndp").get(), q("firstp", "en", "sap", "first", "result"), "not('selector, selector')" ); +}); + + test("siblings([String])", function() { - expect(3); + expect(4); isSet( $("#en").siblings().get(), q("sndp", "sap"), "Check for siblings" ); isSet( $("#sndp").siblings("[code]").get(), q("sap"), "Check for filtered siblings (has code child element)" ); isSet( $("#sndp").siblings("[a]").get(), q("en", "sap"), "Check for filtered siblings (has anchor child element)" ); + isSet( $("#foo").siblings("form, b").get(), q("form", "floatTest"), "Check for multiple filters" ); }); test("children([String])", function() { - expect(2); + expect(3); isSet( $("#foo").children().get(), q("sndp", "en", "sap"), "Check for children" ); isSet( $("#foo").children("[code]").get(), q("sndp", "sap"), "Check for filtered children" ); + isSet( $("#foo").children("#en, #sap").get(), q("en", "sap"), "Check for multiple filters" ); +}); + +test("parent[s]([String])", function() { + expect(8); + ok( $("#groups").parent()[0].id == "ap", "Simple parent check" ); + ok( $("#groups").parent("p")[0].id == "ap", "Filtered parent check" ); + ok( $("#groups").parent("div").length == 0, "Filtered parent check, no match" ); + ok( $("#groups").parent("div, p")[0].id == "ap", "Check for multiple filters" ); + + ok( $("#groups").parents()[0].id == "ap", "Simple parents check" ); + ok( $("#groups").parents("p")[0].id == "ap", "Filtered parents check" ); + ok( $("#groups").parents("div")[0].id == "main", "Filtered parents check2" ); + isSet( $("#groups").parents("p, div").get(), q("ap", "main"), "Check for multiple filters" ); }); +test("next/prev([String])", function() { + expect(8); + ok( $("#ap").next()[0].id == "foo", "Simple next check" ); + ok( $("#ap").next("div")[0].id == "foo", "Filtered next check" ); + ok( $("#ap").next("p").length == 0, "Filtered next check, no match" ); + ok( $("#ap").next("div, p")[0].id == "foo", "Multiple filters" ); + + ok( $("#foo").prev()[0].id == "ap", "Simple prev check" ); + ok( $("#foo").prev("p")[0].id == "ap", "Filtered prev check" ); + ok( $("#foo").prev("div").length == 0, "Filtered prev check, no match" ); + ok( $("#foo").prev("p, div")[0].id == "ap", "Multiple filters" ); +}); test("show()", function() { expect(1); @@ -431,11 +460,21 @@ test("removeClass(String) - add three classes and remove again", function() { ok( pass, "Remove multiple classes" ); }); +test("toggleClass(String)", function() { + expect(3); + var e = $("#firstp"); + ok( !e.is(".test"), "Assert class not present" ); + e.toggleClass("test"); + ok( e.is(".test"), "Assert class present" ); + e.toggleClass("test"); + ok( !e.is(".test"), "Assert class not present" ); +}); + test("removeAttr(String", function() { ok( $('#mark').removeAttr("class")[0].className == "", "remove class" ); }); -test("text(String, Boolean)", function() { +test("text(String)", function() { + expect(1); ok( $("#foo").text("
Hello cruel world!
")[0].innerHTML == "<div><b>Hello</b> cruel world!</div>", "Check escaped text" ); - ok( $("#foo").text("
Hello cruel world!
", true)[0].innerHTML == "Hello cruel world!", "Check stripped text" ); -}); \ No newline at end of file +});