Fixed #1701 by passing through the arguments as suggested.
[jquery.git] / test / unit / core.js
index cf3a312..e71de2d 100644 (file)
@@ -223,8 +223,9 @@ test("index(Object)", function() {
 });
 
 test("attr(String)", function() {
-       expect(13);
+       expect(20);
        ok( $('#text1').attr('value') == "Test", 'Check for value attribute' );
+       ok( $('#text1').attr('value', "Test2").attr('defaultValue') == "Test", 'Check for defaultValue attribute' );
        ok( $('#text1').attr('type') == "text", 'Check for type attribute' );
        ok( $('#radio1').attr('type') == "radio", 'Check for type attribute' );
        ok( $('#check1').attr('type') == "checkbox", 'Check for type attribute' );
@@ -236,6 +237,12 @@ test("attr(String)", function() {
        ok( $('#name').attr('name') == "name", 'Check for name attribute' );
        ok( $('#text1').attr('name') == "action", 'Check for name attribute' );
        ok( $('#form').attr('action').indexOf("formaction") >= 0, 'Check for action attribute' );
+       ok( $('#text1').attr('maxlength') == '30', 'Check for maxlength attribute' );
+       ok( $('#text1').attr('maxLength') == '30', 'Check for maxLength attribute' );
+       ok( $('#area1').attr('maxLength') == '30', 'Check for maxLength attribute' );
+       ok( $('#select2').attr('selectedIndex') == 3, 'Check for selectedIndex attribute' );
+       ok( $('#foo').attr('nodeName') == 'DIV', 'Check for nodeName attribute' );
+       ok( $('#foo').attr('tagName') == 'DIV', 'Check for tagName attribute' );
        
        $('<a id="tAnchor5"></a>').attr('href', '#5').appendTo('#main'); // using innerHTML in IE causes href attribute to be serialized to the full path
        ok( $('#tAnchor5').attr('href') == "#5", 'Check for non-absolute href (an anchor)' );
@@ -269,7 +276,7 @@ test("attr(Hash)", function() {
 });
 
 test("attr(String, Object)", function() {
-       expect(12);
+       expect(13);
        var div = $("div");
        div.attr("foo", "bar");
        var pass = true;
@@ -292,6 +299,8 @@ test("attr(String, Object)", function() {
        ok( document.getElementById('text1').readOnly == false, 'Set readonly attribute' );
        $("#name").attr('maxlength', '5');
        ok( document.getElementById('name').maxLength == '5', 'Set maxlength attribute' );
+       $("#name").attr('maxLength', '10');
+       ok( document.getElementById('name').maxLength == '10', 'Set maxlength attribute' );
 
        reset();
 
@@ -401,6 +410,15 @@ test("jQuery.css(elem, 'height') doesn't clear radio buttons (bug #1095)", funct
        ok( ! $(":checkbox:last", $checkedtest).attr("checked"), "Check last checkbox still NOT checked." );
 });
 
+test("width()", function() {
+       expect(2);
+
+       $("#nothiddendiv").width(30);
+       equals($("#nothiddendiv").width(), 30, "Test set to 30 correctly");
+       $("#nothiddendiv").width(-1); // handle negative numbers by ignoring #1599
+       equals($("#nothiddendiv").width(), 30, "Test negative width ignored");
+});
+
 test("text()", function() {
        expect(1);
        var expected = "This link has class=\"blog\": Simon Willison's Weblog";
@@ -863,9 +881,11 @@ test("$.extend(Object, Object)", function() {
 });
 
 test("val()", function() {
-       expect(2);
+       expect(3);
        ok( $("#text1").val() == "Test", "Check for value of input element" );
        ok( !$("#text1").val() == "", "Check for value of input element" );
+       // ticket #1714 this caused a JS error in IE
+       ok( $("#first").val() == "", "Check a paragraph element to see if it has a value" );
 });
 
 test("val(String)", function() {
@@ -882,15 +902,19 @@ test("val(String)", function() {
 var scriptorder = 0;
 
 test("html(String)", function() {
-       expect(9);
-       var div = $("div");
+       expect(10);
+       var div = $("#main > 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;
+               if ( div.get(i).childNodes.length != 1 ) pass = false;
        }
        ok( pass, "Set HTML" );
 
+       $("#main").html("<select/>");
+       $("#main select").html("<option>O1</option><option selected='selected'>O2</option><option>O3</option>");
+       equals( $("#main select").val(), "O2", "Selected option correct" );
+
        stop();
 
        $("#main").html('<script type="text/javascript">ok( true, "$().html().evalScripts() Evals Scripts Twice in Firefox, see #975" );</script>');