- ok( 'Yahoo' == $('#foo').find('.blogTest').text(), 'Check for find' );
-});
-
-test("clone()", function() {
- expect(3);
- ok( 'This is a normal link: Yahoo' == $('#en').text(), 'Assert text for #en' );
- var clone = $('#yahoo').clone();
- ok( 'Try them out:Yahoo' == $('#first').append(clone).text(), 'Check for clone' );
- 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>)" );
-});
-
-test("filter(String) - execute callback in fitting context", function() {
- expect(1);
- $("input").filter(":checked",function(i){
- ok( this == q("radio2", "check1")[i], "Filter elements, context" );
- });
-});
-
-test("filter(String) - execute callback in not-fitting context", function() {
- expect(1);
- $("#main > p#ap > a").filter("#foobar",function(){},function(i){
- ok( this == q("google","groups", "mark")[i], "Filter elements, else context" );
- });
-});
-
-test("not(String)", function() {
- 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("is(String)", function() {
- expect(22);
- ok( $('#form').is('form'), 'Check for element: A form must be a form' );
- ok( !$('#form').is('div'), 'Check for element: A form is not a div' );
- ok( $('#mark').is('.blog'), 'Check for class: Expected class "blog"' );
- ok( !$('#mark').is('.link'), 'Check for class: Did not expect class "link"' );
- ok( $('#simon').is('.blog.link'), 'Check for multiple classes: Expected classes "blog" and "link"' );
- ok( !$('#simon').is('.blogTest'), 'Check for multiple classes: Expected classes "blog" and "link", but not "blogTest"' );
- ok( $('#en').is('[@lang="en"]'), 'Check for attribute: Expected attribute lang to be "en"' );
- ok( !$('#en').is('[@lang="de"]'), 'Check for attribute: Expected attribute lang to be "en", not "de"' );
- ok( $('#text1').is('[@type="text"]'), 'Check for attribute: Expected attribute type to be "text"' );
- ok( !$('#text1').is('[@type="radio"]'), 'Check for attribute: Expected attribute type to be "text", not "radio"' );
- ok( $('#text2').is(':disabled'), 'Check for pseudoclass: Expected to be disabled' );
- ok( !$('#text1').is(':disabled'), 'Check for pseudoclass: Expected not disabled' );
- ok( $('#radio2').is(':checked'), 'Check for pseudoclass: Expected to be checked' );
- ok( !$('#radio1').is(':checked'), 'Check for pseudoclass: Expected not checked' );
- ok( $('#foo').is('[p]'), 'Check for child: Expected a child "p" element' );
- ok( !$('#foo').is('[ul]'), 'Check for child: Did not expect "ul" element' );
- ok( $('#foo').is('[p][a][code]'), 'Check for childs: Expected "p", "a" and "code" child elements' );
- ok( !$('#foo').is('[p][a][code][ol]'), 'Check for childs: Expected "p", "a" and "code" child elements, but no "ol"' );
- ok( !$('#foo').is(0), 'Expected false for an invalid expression - 0' );
- ok( !$('#foo').is(null), 'Expected false for an invalid expression - null' );
- ok( !$('#foo').is(''), 'Expected false for an invalid expression - ""' );
- ok( !$('#foo').is(undefined), 'Expected false for an invalid expression - undefined' );
-});
-
-test("$.extend(Object, Object)", function() {
- expect(2);
- var settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" },
- options = { xnumber2: 1, xstring2: "x", xxx: "newstring" },
- optionsCopy = { xnumber2: 1, xstring2: "x", xxx: "newstring" },
- merged = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "x", xxx: "newstring" };
- jQuery.extend(settings, options);
- isSet( settings, merged, "Check if extended: settings must be extended" );
- isSet ( options, optionsCopy, "Check if not modified: options must not be modified" );
-});
-
-test("expressions - element", function() {
- expect(5);
- ok( $("*").size() >= 30, "Select all" );
- t( "Element Selector", "div", ["main","foo"] );
- t( "Element Selector", "body", ["body"] );
- t( "Element Selector", "html", ["html"] );
- t( "Parent Element", "div div", ["foo"] );
-});
-
-test("expressions - id", function() {
- expect(5);
- t( "ID Selector", "#body", ["body"] );
- t( "ID Selector w/ Element", "body#body", ["body"] );
- t( "ID Selector w/ Element", "ul#first", [] );
-
- t( "All Children of ID", "#foo/*", ["sndp", "en", "sap"] );
- t( "All Children of ID with no children", "#firstUL/*", [] );
-});
-
-test("expressions - class", function() {
- expect(4);
- t( "Class Selector", ".blog", ["mark","simon"] );
- t( "Class Selector", ".blog.link", ["simon"] );
- t( "Class Selector w/ Element", "a.blog", ["mark","simon"] );
- t( "Parent Class Selector", "p .blog", ["mark","simon"] );
-});
-
-test("expressions - multiple", function() {
- expect(4);
- t( "Comma Support", "a.blog, div", ["mark","simon","main","foo"] );
- t( "Comma Support", "a.blog , div", ["mark","simon","main","foo"] );
- t( "Comma Support", "a.blog ,div", ["mark","simon","main","foo"] );
- t( "Comma Support", "a.blog,div", ["mark","simon","main","foo"] );
-});
-
-test("expressions - child and adjacent", function() {
- expect(14);
- t( "Child", "p > a", ["simon1","google","groups","mark","yahoo","simon"] );
- t( "Child", "p> a", ["simon1","google","groups","mark","yahoo","simon"] );
- t( "Child", "p >a", ["simon1","google","groups","mark","yahoo","simon"] );
- t( "Child", "p>a", ["simon1","google","groups","mark","yahoo","simon"] );
- t( "Child w/ Class", "p > a.blog", ["mark","simon"] );
- t( "All Children", "code > *", ["anchor1","anchor2"] );
- t( "All Grandchildren", "p > * > *", ["anchor1","anchor2"] );
- t( "Adjacent", "a + a", ["groups"] );
- t( "Adjacent", "a +a", ["groups"] );
- t( "Adjacent", "a+ a", ["groups"] );
- t( "Adjacent", "a+a", ["groups"] );
- t( "Adjacent", "p + p", ["ap","en","sap"] );
- t( "Comma, Child, and Adjacent", "a + a, code > a", ["groups","anchor1","anchor2"] );
- t( "First Child", "p:first-child", ["firstp","sndp"] );
-});
-
-test("expressions - attributes", function() {
- expect(16);
- t( "Attribute Exists", "a[@title]", ["google"] );
- t( "Attribute Exists", "*[@title]", ["google"] );
- t( "Attribute Exists", "[@title]", ["google"] );
-
- t( "Attribute Equals", "a[@rel='bookmark']", ["simon1"] );
- t( "Attribute Equals", 'a[@rel="bookmark"]', ["simon1"] );
- t( "Attribute Equals", "a[@rel=bookmark]", ["simon1"] );
- t( "Multiple Attribute Equals", "input[@type='hidden'],input[@type='radio']", ["hidden1","radio1","radio2"] );
- t( "Multiple Attribute Equals", "input[@type=\"hidden\"],input[@type='radio']", ["hidden1","radio1","radio2"] );
- t( "Multiple Attribute Equals", "input[@type=hidden],input[@type=radio]", ["hidden1","radio1","radio2"] );
-
- t( "Attribute Begins With", "a[@href ^= 'http://www']", ["google","yahoo"] );
- t( "Attribute Ends With", "a[@href $= 'org/']", ["mark"] );
- t( "Attribute Contains", "a[@href *= 'google']", ["google","groups"] );
-
- t( "Grouped Form Elements", "input[@name='foo[bar]']", ["hidden2"] );
-
- t( ":not() Existing attribute", "select:not([@multiple])", ["select1", "select2"]);
- t( ":not() Equals attribute", "select:not([@name=select1])", ["select2", "select3"]);
- t( ":not() Equals quoted attribute", "select:not([@name='select1'])", ["select2", "select3"]);
-});
-
-test("expressions - pseudo (:) selctors", function() {
- expect(30);
- t( "First Child", "p:first-child", ["firstp","sndp"] );
- t( "Last Child", "p:last-child", ["sap"] );
- t( "Only Child", "a:only-child", ["simon1","anchor1","yahoo","anchor2"] );
- t( "Empty", "ul:empty", ["firstUL"] );
- t( "Enabled UI Element", "input:enabled", ["text1","radio1","radio2","check1","check2","hidden1","hidden2","name"] );
- t( "Disabled UI Element", "input:disabled", ["text2"] );
- t( "Checked UI Element", "input:checked", ["radio2","check1"] );
- t( "Selected Option Element", "option:selected", ["option1a","option2d","option3b","option3c"] );
- t( "Text Contains", "a:contains('Google')", ["google","groups"] );
- t( "Text Contains", "a:contains('Google Groups')", ["groups"] );
- t( "Element Preceded By", "p ~ div", ["foo"] );
- t( "Not", "a.blog:not(.link)", ["mark"] );
-
- t( "nth Element", "p:nth(1)", ["ap"] );
- t( "First Element", "p:first", ["firstp"] );
- t( "Last Element", "p:last", ["first"] );
- t( "Even Elements", "p:even", ["firstp","sndp","sap"] );
- t( "Odd Elements", "p:odd", ["ap","en","first"] );
- t( "Position Equals", "p:eq(1)", ["ap"] );
- t( "Position Greater Than", "p:gt(0)", ["ap","sndp","en","sap","first"] );
- t( "Position Less Than", "p:lt(3)", ["firstp","ap","sndp"] );
- t( "Is A Parent", "p:parent", ["firstp","ap","sndp","en","sap","first"] );
- t( "Is Visible", "input:visible", ["text1","text2","radio1","radio2","check1","check2","name"] );
- t( "Is Hidden", "input:hidden", ["hidden1","hidden2"] );
-
- t( "Form element :input", ":input", ["text1", "text2", "radio1", "radio2", "check1", "check2", "hidden1", "hidden2", "name", "button", "area1", "select1", "select2", "select3"] );
- t( "Form element :radio", ":radio", ["radio1", "radio2"] );
- t( "Form element :checkbox", ":checkbox", ["check1", "check2"] );
- t( "Form element :text", ":text", ["text1", "text2", "hidden2", "name"] );
- t( "Form element :radio:checked", ":radio:checked", ["radio2"] );
- t( "Form element :checkbox:checked", ":checkbox:checked", ["check1"] );
- t( "Form element :checkbox:checked, :radio:checked", ":checkbox:checked, :radio:checked", ["check1", "radio2"] );
-});
-
-test("expressions - basic xpath", function() {
- expect(14);
- ok( jQuery.find("//*").length >= 30, "All Elements (//*)" );
- t( "All Div Elements", "//div", ["main","foo"] );
- t( "Absolute Path", "/html/body", ["body"] );
- t( "Absolute Path w/ *", "/* /body", ["body"] );
- t( "Long Absolute Path", "/html/body/dl/div/div/p", ["sndp","en","sap"] );
- t( "Absolute and Relative Paths", "/html//div", ["main","foo"] );
- t( "All Children, Explicit", "//code/*", ["anchor1","anchor2"] );
- t( "All Children, Implicit", "//code/", ["anchor1","anchor2"] );
- t( "Attribute Exists", "//a[@title]", ["google"] );
- t( "Attribute Equals", "//a[@rel='bookmark']", ["simon1"] );
- t( "Parent Axis", "//p/..", ["main","foo"] );
- t( "Sibling Axis", "//p/../", ["firstp","ap","foo","first","firstUL","empty","form","floatTest","sndp","en","sap"] );
- t( "Sibling Axis", "//p/../*", ["firstp","ap","foo","first","firstUL","empty","form","floatTest","sndp","en","sap"] );
- t( "Has Children", "//p[a]", ["firstp","ap","en","sap"] );
-});
-
-test("val()", function() {
- expect(2);
- ok( $("#text1").val() == "Test", "Check for value of input element" );
- ok( !$("#text1").val() == "", "Check for value of input element" );
-});
-
-test("val(String)", function() {
- expect(2);
- document.getElementById('text1').value = "bla";
- ok( $("#text1").val() == "bla", "Check for modified value of input element" );
- $("#text1").val('test');
- ok ( document.getElementById('text1').value == "test", "Check for modified (via val(String)) value of input element" );
-});
-
-test("html(String)", function() {
- expect(1);
- var div = $("div");
- div.html("<b>test</b>");
- var pass = true;
- for ( var i = 0; i < div.size(); i++ ) {
- if ( div.get(i).childNodes.length == 0 ) pass = false;
- }
+ expect(1);\r
+ ok( 'Yahoo' == $('#foo').find('.blogTest').text(), 'Check for find' );\r
+});\r
+\r
+test("clone()", function() {\r
+ expect(3);\r
+ ok( 'This is a normal link: Yahoo' == $('#en').text(), 'Assert text for #en' );\r
+ var clone = $('#yahoo').clone();\r
+ ok( 'Try them out:Yahoo' == $('#first').append(clone).text(), 'Check for clone' );\r
+ ok( 'This is a normal link: Yahoo' == $('#en').text(), 'Reassert text for #en' );\r
+});\r
+\r
+test("is(String)", function() {\r
+ expect(26);\r
+ ok( $('#form').is('form'), 'Check for element: A form must be a form' );\r
+ ok( !$('#form').is('div'), 'Check for element: A form is not a div' );\r
+ ok( $('#mark').is('.blog'), 'Check for class: Expected class "blog"' );\r
+ ok( !$('#mark').is('.link'), 'Check for class: Did not expect class "link"' );\r
+ ok( $('#simon').is('.blog.link'), 'Check for multiple classes: Expected classes "blog" and "link"' );\r
+ ok( !$('#simon').is('.blogTest'), 'Check for multiple classes: Expected classes "blog" and "link", but not "blogTest"' );\r
+ ok( $('#en').is('[@lang="en"]'), 'Check for attribute: Expected attribute lang to be "en"' );\r
+ ok( !$('#en').is('[@lang="de"]'), 'Check for attribute: Expected attribute lang to be "en", not "de"' );\r
+ ok( $('#text1').is('[@type="text"]'), 'Check for attribute: Expected attribute type to be "text"' );\r
+ ok( !$('#text1').is('[@type="radio"]'), 'Check for attribute: Expected attribute type to be "text", not "radio"' );\r
+ ok( $('#text2').is(':disabled'), 'Check for pseudoclass: Expected to be disabled' );\r
+ ok( !$('#text1').is(':disabled'), 'Check for pseudoclass: Expected not disabled' );\r
+ ok( $('#radio2').is(':checked'), 'Check for pseudoclass: Expected to be checked' );\r
+ ok( !$('#radio1').is(':checked'), 'Check for pseudoclass: Expected not checked' );\r
+ ok( $('#foo').is('[p]'), 'Check for child: Expected a child "p" element' );\r
+ ok( !$('#foo').is('[ul]'), 'Check for child: Did not expect "ul" element' );\r
+ ok( $('#foo').is('[p][a][code]'), 'Check for childs: Expected "p", "a" and "code" child elements' );\r
+ ok( !$('#foo').is('[p][a][code][ol]'), 'Check for childs: Expected "p", "a" and "code" child elements, but no "ol"' );\r
+ ok( !$('#foo').is(0), 'Expected false for an invalid expression - 0' );\r
+ ok( !$('#foo').is(null), 'Expected false for an invalid expression - null' );\r
+ ok( !$('#foo').is(''), 'Expected false for an invalid expression - ""' );\r
+ ok( !$('#foo').is(undefined), 'Expected false for an invalid expression - undefined' );\r
+ \r
+ // test is() with comma-seperated expressions\r
+ ok( $('#en').is('[@lang="en"],[@lang="de"]'), 'Comma-seperated; Check for lang attribute: Expect en or de' );\r
+ ok( $('#en').is('[@lang="de"],[@lang="en"]'), 'Comma-seperated; Check for lang attribute: Expect en or de' );\r
+ ok( $('#en').is('[@lang="en"] , [@lang="de"]'), 'Comma-seperated; Check for lang attribute: Expect en or de' );\r
+ ok( $('#en').is('[@lang="de"] , [@lang="en"]'), 'Comma-seperated; Check for lang attribute: Expect en or de' );\r
+});\r
+\r
+test("$.extend(Object, Object)", function() {\r
+ expect(2);\r
+ var settings = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" },\r
+ options = { xnumber2: 1, xstring2: "x", xxx: "newstring" },\r
+ optionsCopy = { xnumber2: 1, xstring2: "x", xxx: "newstring" },\r
+ merged = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "x", xxx: "newstring" };\r
+ jQuery.extend(settings, options);\r
+ isSet( settings, merged, "Check if extended: settings must be extended" );\r
+ isSet ( options, optionsCopy, "Check if not modified: options must not be modified" );\r
+});\r
+\r
+test("$.extend(Object, Object, Object, Object)", function() {\r
+ expect(4);\r
+ var defaults = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" },\r
+ defaultsCopy = { xnumber1: 5, xnumber2: 7, xstring1: "peter", xstring2: "pan" },\r
+ options1 = { xnumber2: 1, xstring2: "x" },\r
+ options1Copy = { xnumber2: 1, xstring2: "x" },\r
+ options2 = { xstring2: "xx", xxx: "newstringx" },\r
+ options2Copy = { xstring2: "xx", xxx: "newstringx" },\r
+ merged = { xnumber1: 5, xnumber2: 1, xstring1: "peter", xstring2: "xx", xxx: "newstringx" };\r
+ var settings = jQuery.extend({}, defaults, options1, options2);\r
+ isSet( settings, merged, "Check if extended: settings must be extended" );\r
+ isSet ( defaults, defaultsCopy, "Check if not modified: options1 must not be modified" );\r
+ isSet ( options1, options1Copy, "Check if not modified: options1 must not be modified" );\r
+ isSet ( options2, options2Copy, "Check if not modified: options2 must not be modified" );\r
+});\r
+\r
+test("val()", function() {\r
+ expect(2);\r
+ ok( $("#text1").val() == "Test", "Check for value of input element" );\r
+ ok( !$("#text1").val() == "", "Check for value of input element" );\r
+});\r
+\r
+test("val(String)", function() {\r
+ expect(2);\r
+ document.getElementById('text1').value = "bla";\r
+ ok( $("#text1").val() == "bla", "Check for modified value of input element" );\r
+ $("#text1").val('test');\r
+ ok ( document.getElementById('text1').value == "test", "Check for modified (via val(String)) value of input element" );\r
+});\r
+\r
+test("html(String)", function() {\r
+ expect(2);\r
+ var div = $("div");\r
+ div.html("<b>test</b>");\r
+ var pass = true;\r
+ for ( var i = 0; i < div.size(); i++ ) {\r
+ if ( div.get(i).childNodes.length == 0 ) pass = false;\r
+ }\r