@@ -159,6 +159,8 @@ describe('ui-select tests', function() {
159
159
if ( attrs . allowClear !== undefined ) { matchAttrsHtml += ' allow-clear="' + attrs . allowClear + '"' ; }
160
160
if ( attrs . inputId !== undefined ) { attrsHtml += ' input-id="' + attrs . inputId + '"' ; }
161
161
if ( attrs . ngClass !== undefined ) { attrsHtml += ' ng-class="' + attrs . ngClass + '"' ; }
162
+ if ( attrs . resetSearchInput !== undefined ) { attrsHtml += ' reset-search-input="' + attrs . resetSearchInput + '"' ; }
163
+ if ( attrs . closeOnSelect !== undefined ) { attrsHtml += ' close-on-select="' + attrs . closeOnSelect + '"' ; }
162
164
}
163
165
164
166
return compileTemplate (
@@ -2820,7 +2822,60 @@ describe('ui-select tests', function() {
2820
2822
expect ( el . scope ( ) . $select . searchEnabled ) . not . toBe ( true ) ;
2821
2823
} ) ;
2822
2824
} ) ;
2825
+ } ) ;
2826
+
2827
+ describe ( 'resetSearchInput option' , function ( ) {
2828
+ it ( 'should be false by default' , function ( ) {
2829
+ expect ( createUiSelect ( ) . scope ( ) . $select . resetSearchInput ) . toBe ( false ) ;
2830
+ } ) ;
2831
+
2832
+ it ( 'should be overridden by inline option reset-search-input=true' , function ( ) {
2833
+ expect ( createUiSelect ( { resetSearchInput : true } ) . scope ( ) . $select . resetSearchInput ) . toBe ( true ) ;
2834
+ } ) ;
2835
+
2836
+ describe ( 'Reset the search value' , function ( ) {
2837
+ it ( 'should clear the search input when resetSearchInput is true' , function ( ) {
2838
+ var control = createUiSelect ( { resetSearchInput : true } ) ;
2839
+ setSearchText ( control , 'idontexist' ) ;
2840
+ clickMatch ( control ) ;
2841
+ expect ( control . scope ( ) . $select . search ) . toEqual ( '' ) ;
2842
+ } ) ;
2843
+
2844
+ it ( 'should not clear the search input' , function ( ) {
2845
+ var control = createUiSelect ( ) ;
2846
+ setSearchText ( control , 'idontexist' ) ;
2847
+ clickMatch ( control ) ;
2848
+ expect ( control . scope ( ) . $select . search ) . toEqual ( 'idontexist' ) ;
2849
+ } ) ;
2823
2850
2851
+ it ( 'should clear the search input when resetSearchInput is true and closeOnSelect is true' , function ( ) {
2852
+ var control = createUiSelect ( { resetSearchInput : true , closeOnSelect : true } ) ;
2853
+ setSearchText ( control , 'idontexist' ) ;
2854
+ clickMatch ( control ) ;
2855
+ expect ( control . scope ( ) . $select . search ) . toEqual ( '' ) ;
2856
+ } ) ;
2857
+
2858
+ it ( 'should clear the search input when resetSearchInput is true and closeOnSelect is false' , function ( ) {
2859
+ var control = createUiSelect ( { resetSearchInput : true , closeOnSelect : false } ) ;
2860
+ setSearchText ( control , 'idontexist' ) ;
2861
+ clickMatch ( control ) ;
2862
+ expect ( control . scope ( ) . $select . search ) . toEqual ( '' ) ;
2863
+ } ) ;
2864
+
2865
+ it ( 'should not clear the search input when resetSearchInput is false and closeOnSelect is false' , function ( ) {
2866
+ var control = createUiSelect ( { resetSearchInput : false , closeOnSelect : false } ) ;
2867
+ setSearchText ( control , 'idontexist' ) ;
2868
+ clickMatch ( control ) ;
2869
+ expect ( control . scope ( ) . $select . search ) . toEqual ( 'idontexist' ) ;
2870
+ } ) ;
2871
+
2872
+ it ( 'should not clear the search input when resetSearchInput is false and closeOnSelect is true' , function ( ) {
2873
+ var control = createUiSelect ( { resetSearchInput : false , closeOnSelect : true } ) ;
2874
+ setSearchText ( control , 'idontexist' ) ;
2875
+ clickMatch ( control ) ;
2876
+ expect ( control . scope ( ) . $select . search ) . toEqual ( 'idontexist' ) ;
2877
+ } ) ;
2878
+ } ) ;
2824
2879
} ) ;
2825
2880
2826
2881
describe ( 'accessibility' , function ( ) {
0 commit comments