}
});
+asyncTest( "simultaneous searches (#9334)", function() {
+ expect( 2 );
+ var element = $( "#autocomplete" ).autocomplete({
+ source: function( request, response ) {
+ setTimeout(function() {
+ response([ request.term ]);
+ });
+ },
+ response: function() {
+ ok( true, "response from first instance" );
+ }
+ }),
+ element2 = $( "#autocomplete-textarea" ).autocomplete({
+ source: function( request, response ) {
+ setTimeout(function() {
+ response([ request.term ]);
+ });
+ },
+ response: function() {
+ ok( true, "response from second instance" );
+ start();
+ }
+ });
+
+ element.autocomplete( "search", "test" );
+ element2.autocomplete( "search", "test" );
+});
+
test( "ARIA", function() {
expect( 7 );
var element = $( "#autocomplete" ).autocomplete({
select: null
},
+ requestIndex: 0,
pending: 0,
_create: function() {
this.source( { term: value }, this._response() );
},
- _response: (function() {
- var requestIndex = 0;
+ _response: function() {
+ var index = ++this.requestIndex;
- return function() {
- var index = ++requestIndex;
-
- return $.proxy(function( content ) {
- if ( index === requestIndex ) {
- this.__response( content );
- }
+ return $.proxy(function( content ) {
+ if ( index === this.requestIndex ) {
+ this.__response( content );
+ }
- this.pending--;
- if ( !this.pending ) {
- this.element.removeClass( "ui-autocomplete-loading" );
- }
- }, this );
- };
- })(),
+ this.pending--;
+ if ( !this.pending ) {
+ this.element.removeClass( "ui-autocomplete-loading" );
+ }
+ }, this );
+ },
__response: function( content ) {
if ( content ) {