]> source.dussan.org Git - jquery-ui.git/commitdiff
Autocomplete: refactored unit tests for autoFocus option
authorRichard Worth <rdworth@gmail.com>
Tue, 15 Mar 2011 13:36:36 +0000 (09:36 -0400)
committerRichard Worth <rdworth@gmail.com>
Tue, 15 Mar 2011 13:37:18 +0000 (09:37 -0400)
(cherry picked from commit c1a0f2bf6c7155e73e373818c44b06dcbe18c847)

tests/unit/autocomplete/autocomplete_options.js

index 09cfb6b5f1016ddcc9d95e7f39fae8da6664734f..be2f28391e1fa51fd7e6b569a9241eb051c63a23 100644 (file)
@@ -97,32 +97,26 @@ test( "appendTo", function() {
        ac.autocomplete( "destroy" );
 });
 
-test( "autoFocus: false", function() {
+function autoFocusTest( afValue, focusedLength ) {
        var ac = $( "#autocomplete" ).autocomplete({
-               autoFocus: false,
+               autoFocus: afValue,
                delay: 0,
                source: data,
                open: function( event, ui ) {
-                       equals( 0, ac.autocomplete( "widget" ).children( ".ui-menu-item:first .ui-state-focus" ).length, "first item is not auto focused" );
+                       equals( focusedLength, ac.autocomplete( "widget" ).children( ".ui-menu-item:first .ui-state-focus" ).length, "first item is " + afValue ? "" : "not" + " auto focused" );
                        start();                        
                }
        });
        ac.val( "ja" ).keydown();
        stop();
+}
+
+test( "autoFocus: false", function() {
+       autoFocusTest( false, 0 );
 });
 
 test( "autoFocus: true", function() {
-       var ac = $( "#autocomplete" ).autocomplete({
-               autoFocus: true,
-               delay: 0,
-               source: data,
-               open: function( event, ui ) {
-                       equals( 1, ac.autocomplete( "widget" ).children( ".ui-menu-item:first .ui-state-focus" ).length, "first item is auto focused" );
-                       start();                        
-               }
-       });
-       ac.val( "ja" ).keydown();
-       stop();
+       autoFocusTest( true, 1 );
 });
 
 test("delay", function() {