summaryrefslogtreecommitdiffstats
path: root/apps/it/static/js/ui/tests/unit/autocomplete/autocomplete_options.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/it/static/js/ui/tests/unit/autocomplete/autocomplete_options.js')
-rw-r--r--apps/it/static/js/ui/tests/unit/autocomplete/autocomplete_options.js278
1 files changed, 0 insertions, 278 deletions
diff --git a/apps/it/static/js/ui/tests/unit/autocomplete/autocomplete_options.js b/apps/it/static/js/ui/tests/unit/autocomplete/autocomplete_options.js
deleted file mode 100644
index 0a2e07b..0000000
--- a/apps/it/static/js/ui/tests/unit/autocomplete/autocomplete_options.js
+++ /dev/null
@@ -1,278 +0,0 @@
-(function( $ ) {
-
-module( "autocomplete: options" );
-
-var data = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby",
- "python", "c", "scala", "groovy", "haskell", "perl" ];
-
-test( "appendTo", function() {
- expect( 8 );
- var detached = $( "<div>" ),
- element = $( "#autocomplete" ).autocomplete();
- equal( element.autocomplete( "widget" ).parent()[ 0 ], document.body,
- "defaults to body" );
- element.autocomplete( "destroy" );
-
- element.autocomplete({
- appendTo: ".autocomplete-wrap"
- });
- equal( element.autocomplete( "widget" ).parent()[ 0 ],
- $( "#autocomplete-wrap1" )[ 0 ], "first found element" );
- equal( $( "#autocomplete-wrap2 .ui-autocomplete" ).length, 0,
- "only appends to one element" );
- element.autocomplete( "destroy" );
-
- $( "#autocomplete-wrap2" ).addClass( "ui-front" );
- element.autocomplete();
- equal( element.autocomplete( "widget" ).parent()[ 0 ],
- $( "#autocomplete-wrap2" )[ 0 ], "null, inside .ui-front" );
- element.autocomplete( "destroy" );
- $( "#autocomlete-wrap2" ).removeClass( "ui-front" );
-
- element.autocomplete().autocomplete( "option", "appendTo", "#autocomplete-wrap1" );
- equal( element.autocomplete( "widget" ).parent()[ 0 ],
- $( "#autocomplete-wrap1" )[ 0 ], "modified after init" );
- element.autocomplete( "destroy" );
-
- element.autocomplete({
- appendTo: detached
- });
- equal( element.autocomplete( "widget" ).parent()[ 0 ], detached[ 0 ],
- "detached jQuery object" );
- element.autocomplete( "destroy" );
-
- element.autocomplete({
- appendTo: detached[ 0 ]
- });
- equal( element.autocomplete( "widget" ).parent()[ 0 ], detached[ 0 ],
- "detached DOM element" );
- element.autocomplete( "destroy" );
-
- element.autocomplete().autocomplete( "option", "appendTo", detached );
- equal( element.autocomplete( "widget" ).parent()[ 0 ], detached[ 0 ],
- "detached DOM element via option()" );
- element.autocomplete( "destroy" );
-});
-
-function autoFocusTest( afValue, focusedLength ) {
- var element = $( "#autocomplete" ).autocomplete({
- autoFocus: afValue,
- delay: 0,
- source: data,
- open: function() {
- equal(
- element.autocomplete( "widget" )
- .children( ".ui-menu-item:first" )
- .find( ".ui-state-focus" )
- .length,
- focusedLength,
- "first item is " + (afValue ? "" : "not") + " auto focused" );
- start();
- }
- });
- element.val( "ja" ).keydown();
- stop();
-}
-
-test( "autoFocus: false", function() {
- expect( 1 );
- autoFocusTest( false, 0 );
-});
-
-test( "autoFocus: true", function() {
- expect( 1 );
- autoFocusTest( true, 1 );
-});
-
-asyncTest( "delay", function() {
- expect( 2 );
- var element = $( "#autocomplete" ).autocomplete({
- source: data,
- delay: 50
- }),
- menu = element.autocomplete( "widget" );
- element.val( "ja" ).keydown();
-
- ok( menu.is( ":hidden" ), "menu is closed immediately after search" );
-
- setTimeout(function() {
- ok( menu.is( ":visible" ), "menu is open after delay" );
- start();
- }, 100 );
-});
-
-asyncTest( "disabled", function() {
- expect( 2 );
- var element = $( "#autocomplete" ).autocomplete({
- source: data,
- delay: 0,
- disabled: true
- }),
- menu = element.autocomplete( "widget" );
- element.val( "ja" ).keydown();
-
- ok( menu.is( ":hidden" ) );
-
- setTimeout(function() {
- ok( menu.is( ":hidden" ) );
- start();
- }, 50 );
-});
-
-test( "minLength", function() {
- expect( 2 );
- var element = $( "#autocomplete" ).autocomplete({
- source: data
- }),
- menu = element.autocomplete( "widget" );
- element.autocomplete( "search", "" );
- ok( menu.is( ":hidden" ), "blank not enough for minLength: 1" );
-
- element.autocomplete( "option", "minLength", 0 );
- element.autocomplete( "search", "" );
- ok( menu.is( ":visible" ), "blank enough for minLength: 0" );
-});
-
-asyncTest( "minLength, exceed then drop below", function() {
- expect( 4 );
- var element = $( "#autocomplete" ).autocomplete({
- minLength: 2,
- source: function( req, res ) {
- equal( req.term, "12", "correct search term" );
- setTimeout(function() {
- res([ "item" ]);
- }, 1 );
- }
- }),
- menu = element.autocomplete( "widget" );
-
- ok( menu.is( ":hidden" ), "menu is hidden before first search" );
- element.autocomplete( "search", "12" );
-
- ok( menu.is( ":hidden" ), "menu is hidden before second search" );
- element.autocomplete( "search", "1" );
-
- setTimeout(function() {
- ok( menu.is( ":hidden" ), "menu is hidden after searches" );
- start();
- }, 50 );
-});
-
-test( "minLength, exceed then drop below then exceed", function() {
- expect( 3 );
- var _res = [],
- element = $( "#autocomplete" ).autocomplete({
- minLength: 2,
- source: function( req, res ) {
- _res.push( res );
- }
- }),
- menu = element.autocomplete( "widget" );
-
- // trigger a valid search
- ok( menu.is( ":hidden" ), "menu is hidden before first search" );
- element.autocomplete( "search", "12" );
-
- // trigger a search below the minLength, to turn on cancelSearch flag
- ok( menu.is( ":hidden" ), "menu is hidden before second search" );
- element.autocomplete( "search", "1" );
-
- // trigger a valid search
- element.autocomplete( "search", "13" );
- // react as if the first search was cancelled (default ajax behavior)
- _res[ 0 ]([]);
- // react to second search
- _res[ 1 ]([ "13" ]);
-
- ok( menu.is( ":visible" ), "menu is visible after searches" );
-});
-
-test( "source, local string array", function() {
- expect( 1 );
- var element = $( "#autocomplete" ).autocomplete({
- source: data
- }),
- menu = element.autocomplete( "widget" );
- element.val( "ja" ).autocomplete( "search" );
- equal( menu.find( ".ui-menu-item" ).text(), "javajavascript" );
-});
-
-function sourceTest( source, async ) {
- var element = $( "#autocomplete" ).autocomplete({
- source: source
- }),
- menu = element.autocomplete( "widget" );
- function result() {
- equal( menu.find( ".ui-menu-item" ).text(), "javajavascript" );
- element.autocomplete( "destroy" );
- if ( async ) {
- start();
- }
- }
- if ( async ) {
- stop();
- $( document ).one( "ajaxStop", result );
- }
- element.val( "ja" ).autocomplete( "search" );
- if ( !async ) {
- result();
- }
-}
-
-test( "source, local object array, only label property", function() {
- expect( 1 );
- sourceTest([
- { label: "java" },
- { label: "php" },
- { label: "coldfusion" },
- { label: "javascript" }
- ]);
-});
-
-test( "source, local object array, only value property", function() {
- expect( 1 );
- sourceTest([
- { value: "java" },
- { value: "php" },
- { value: "coldfusion" },
- { value: "javascript" }
- ]);
-});
-
-test( "source, url string with remote json string array", function() {
- expect( 1 );
- sourceTest( "remote_string_array.txt", true );
-});
-
-test( "source, url string with remote json object array, only value properties", function() {
- expect( 1 );
- sourceTest( "remote_object_array_values.txt", true );
-});
-
-test( "source, url string with remote json object array, only label properties", function() {
- expect( 1 );
- sourceTest( "remote_object_array_labels.txt", true );
-});
-
-test( "source, custom", function() {
- expect( 2 );
- sourceTest(function( request, response ) {
- equal( request.term, "ja" );
- response( ["java", "javascript"] );
- });
-});
-
-test( "source, update after init", function() {
- expect( 2 );
- var element = $( "#autocomplete" ).autocomplete({
- source: [ "java", "javascript", "haskell" ]
- }),
- menu = element.autocomplete( "widget" );
- element.val( "ja" ).autocomplete( "search" );
- equal( menu.find( ".ui-menu-item" ).text(), "javajavascript" );
- element.autocomplete( "option", "source", [ "php", "asp" ] );
- element.val( "ph" ).autocomplete( "search" );
- equal( menu.find( ".ui-menu-item" ).text(), "php" );
-});
-
-}( jQuery ) );