@@ -1878,6 +1878,10 @@ describe('ui-select tests', function () {
1878
1878
if ( attrs . limit !== undefined ) { attrsHtml += ' limit="' + attrs . limit + '"' ; }
1879
1879
if ( attrs . onSelect !== undefined ) { attrsHtml += ' on-select="' + attrs . onSelect + '"' ; }
1880
1880
if ( attrs . removeSelected !== undefined ) { attrsHtml += ' remove-selected="' + attrs . removeSelected + '"' ; }
1881
+ if ( attrs . refresh !== undefined ) { choicesAttrsHtml += ' refresh="' + attrs . refresh + '"' ; }
1882
+ if ( attrs . refreshDelay !== undefined ) { choicesAttrsHtml += ' refresh-delay="' + attrs . refreshDelay + '"' ; }
1883
+ if ( attrs . spinnerEnabled !== undefined ) { attrsHtml += ' spinner-enabled="' + attrs . spinnerEnabled + '"' ; }
1884
+ if ( attrs . spinnerClass !== undefined ) { attrsHtml += ' spinner-class="' + attrs . spinnerClass + '"' ; }
1881
1885
}
1882
1886
1883
1887
return compileTemplate (
@@ -2988,6 +2992,68 @@ describe('ui-select tests', function () {
2988
2992
expect ( $ ( el ) . scope ( ) . $select . search ) . toEqual ( '' ) ;
2989
2993
} ) ;
2990
2994
} ) ;
2995
+
2996
+ describe ( 'Test Spinner for promises' , function ( ) {
2997
+ var deferred ;
2998
+
2999
+ function getFromServer ( ) {
3000
+ deferred = $q . defer ( ) ;
3001
+ return deferred . promise ;
3002
+ }
3003
+ it ( 'should have a default value of false' , function ( ) {
3004
+ var control = createUiSelectMultiple ( ) ;
3005
+ expect ( control . scope ( ) . $select . spinnerEnabled ) . toEqual ( false ) ;
3006
+ } ) ;
3007
+
3008
+ it ( 'should have a set a value of true' , function ( ) {
3009
+ var control = createUiSelectMultiple ( { spinnerEnabled : true } ) ;
3010
+ expect ( control . scope ( ) . $select . spinnerEnabled ) . toEqual ( true ) ;
3011
+ } ) ;
3012
+
3013
+ it ( 'should have a default value of glyphicon-refresh ui-select-spin' , function ( ) {
3014
+ var control = createUiSelectMultiple ( ) ;
3015
+ expect ( control . scope ( ) . $select . spinnerClass ) . toEqual ( 'glyphicon glyphicon-refresh ui-select-spin' ) ;
3016
+ } ) ;
3017
+
3018
+ it ( 'should have set a custom class value of randomclass' , function ( ) {
3019
+ var control = createUiSelectMultiple ( { spinnerClass : 'randomclass' } ) ;
3020
+ expect ( control . scope ( ) . $select . spinnerClass ) . toEqual ( 'randomclass' ) ;
3021
+ } ) ;
3022
+
3023
+ it ( 'should not display spinner when disabled' , function ( ) {
3024
+ scope . getFromServer = getFromServer ;
3025
+ var el = createUiSelectMultiple ( { theme : 'bootstrap' , refresh : "getFromServer($select.search)" , refreshDelay : 0 } ) ;
3026
+ openDropdown ( el ) ;
3027
+ var spinner = el . find ( '.ui-select-refreshing' ) ;
3028
+ expect ( spinner . hasClass ( 'ng-hide' ) ) . toBe ( true ) ;
3029
+ setSearchText ( el , 'a' ) ;
3030
+ expect ( spinner . hasClass ( 'ng-hide' ) ) . toBe ( true ) ;
3031
+ deferred . resolve ( ) ;
3032
+ scope . $digest ( ) ;
3033
+ expect ( spinner . hasClass ( 'ng-hide' ) ) . toBe ( true ) ;
3034
+ } ) ;
3035
+
3036
+ it ( 'should display spinner when enabled' , function ( ) {
3037
+ scope . getFromServer = getFromServer ;
3038
+ var el = createUiSelectMultiple ( { spinnerEnabled : true , theme : 'bootstrap' , refresh : "getFromServer($select.search)" , refreshDelay : 0 } ) ;
3039
+ openDropdown ( el ) ;
3040
+ var spinner = el . find ( '.ui-select-refreshing' ) ;
3041
+ expect ( spinner . hasClass ( 'ng-hide' ) ) . toBe ( true ) ;
3042
+ setSearchText ( el , 'a' ) ;
3043
+ expect ( spinner . hasClass ( 'ng-hide' ) ) . toBe ( false ) ;
3044
+ deferred . resolve ( ) ;
3045
+ scope . $digest ( ) ;
3046
+ expect ( spinner . hasClass ( 'ng-hide' ) ) . toBe ( true ) ;
3047
+ } ) ;
3048
+
3049
+ it ( 'should not display spinner when enabled' , function ( ) {
3050
+ var el = createUiSelectMultiple ( { spinnerEnabled : true , theme : 'bootstrap' , spinnerClass : 'randomclass' } ) ;
3051
+ openDropdown ( el ) ;
3052
+ var spinner = el . find ( '.ui-select-refreshing' ) ;
3053
+ setSearchText ( el , 'a' ) ;
3054
+ expect ( el . scope ( ) . $select . spinnerClass ) . toBe ( 'randomclass' ) ;
3055
+ } ) ;
3056
+ } ) ;
2991
3057
} ) ;
2992
3058
2993
3059
it ( 'should add an id to the search input field' , function ( ) {
0 commit comments