|
1 | 1 | 'use strict'; |
2 | 2 |
|
3 | 3 | describe('ui-select tests', function() { |
4 | | - var scope, $rootScope, $compile, $timeout, $injector, $q,uisRepeatParser ; |
| 4 | + var scope, $rootScope, $compile, $timeout, $injector, $q,uisRepeatParser, $exceptionHandler; |
5 | 5 |
|
6 | 6 | var Key = { |
7 | 7 | Enter: 13, |
@@ -78,13 +78,14 @@ describe('ui-select tests', function() { |
78 | 78 | }); |
79 | 79 | }); |
80 | 80 |
|
81 | | - beforeEach(inject(function(_$rootScope_, _$compile_, _$timeout_, _$injector_,_$q_ , _uisRepeatParser_) { |
| 81 | + beforeEach(inject(function(_$rootScope_, _$compile_, _$timeout_, _$injector_,_$q_ , _uisRepeatParser_, _$exceptionHandler_) { |
82 | 82 | $rootScope = _$rootScope_; |
83 | 83 | scope = $rootScope.$new(); |
84 | 84 | $compile = _$compile_; |
85 | 85 | $timeout = _$timeout_; |
86 | 86 | $injector = _$injector_; |
87 | 87 | $q = _$q_; |
| 88 | + $exceptionHandler = _$exceptionHandler_; |
88 | 89 | uisRepeatParser = _uisRepeatParser_; |
89 | 90 | scope.selection = {}; |
90 | 91 |
|
@@ -1112,45 +1113,49 @@ describe('ui-select tests', function() { |
1112 | 1113 |
|
1113 | 1114 |
|
1114 | 1115 | it('should throw when no ui-select-choices found', function() { |
1115 | | - expect(function() { |
1116 | | - compileTemplate( |
1117 | | - '<ui-select ng-model="selection.selected"> \ |
1118 | | - <ui-select-match></ui-select-match> \ |
1119 | | - </ui-select>' |
1120 | | - ); |
1121 | | - }).toThrow(new Error('[ui.select:transcluded] Expected 1 .ui-select-choices but got \'0\'.')); |
| 1116 | + compileTemplate( |
| 1117 | + '<ui-select ng-model="selection.selected"> \ |
| 1118 | + <ui-select-match></ui-select-match> \ |
| 1119 | + </ui-select>' |
| 1120 | + ); |
| 1121 | + var lastError = $exceptionHandler.errors[$exceptionHandler.errors.length-1]; |
| 1122 | + var expectedError = new Error('[ui.select:transcluded] Expected 1 .ui-select-choices but got \'0\'.'); |
| 1123 | + expect(lastError).toEqual(expectedError); |
1122 | 1124 | }); |
1123 | 1125 |
|
1124 | 1126 | it('should throw when no repeat attribute is provided to ui-select-choices', function() { |
1125 | | - expect(function() { |
1126 | | - compileTemplate( |
1127 | | - '<ui-select ng-model="selection.selected"> \ |
1128 | | - <ui-select-match></ui-select-match> \ |
1129 | | - <ui-select-choices></ui-select-choices> \ |
1130 | | - </ui-select>' |
1131 | | - ); |
1132 | | - }).toThrow(new Error('[ui.select:repeat] Expected \'repeat\' expression.')); |
| 1127 | + compileTemplate( |
| 1128 | + '<ui-select ng-model="selection.selected"> \ |
| 1129 | + <ui-select-match></ui-select-match> \ |
| 1130 | + <ui-select-choices></ui-select-choices> \ |
| 1131 | + </ui-select>' |
| 1132 | + ); |
| 1133 | + var lastError = $exceptionHandler.errors[$exceptionHandler.errors.length-1]; |
| 1134 | + var expectedError = new Error('[ui.select:repeat] Expected \'repeat\' expression.'); |
| 1135 | + expect(lastError).toEqual(expectedError); |
1133 | 1136 | }); |
1134 | 1137 |
|
1135 | 1138 | it('should throw when repeat attribute has incorrect format ', function() { |
1136 | | - expect(function() { |
1137 | | - compileTemplate( |
1138 | | - '<ui-select ng-model="selection.selected"> \ |
1139 | | - <ui-select-match></ui-select-match> \ |
1140 | | - <ui-select-choices repeat="incorrect format people"></ui-select-choices> \ |
1141 | | - </ui-select>' |
1142 | | - ); |
1143 | | - }).toThrow(new Error('[ui.select:iexp] Expected expression in form of \'_item_ in _collection_[ track by _id_]\' but got \'incorrect format people\'.')); |
| 1139 | + compileTemplate( |
| 1140 | + '<ui-select ng-model="selection.selected"> \ |
| 1141 | + <ui-select-match></ui-select-match> \ |
| 1142 | + <ui-select-choices repeat="incorrect format people"></ui-select-choices> \ |
| 1143 | + </ui-select>' |
| 1144 | + ); |
| 1145 | + var lastError = $exceptionHandler.errors[$exceptionHandler.errors.length-1]; |
| 1146 | + var expectedError = new Error('[ui.select:iexp] Expected expression in form of \'_item_ in _collection_[ track by _id_]\' but got \'incorrect format people\'.'); |
| 1147 | + expect(lastError).toEqual(expectedError); |
1144 | 1148 | }); |
1145 | 1149 |
|
1146 | 1150 | it('should throw when no ui-select-match found', function() { |
1147 | | - expect(function() { |
1148 | | - compileTemplate( |
1149 | | - '<ui-select ng-model="selection.selected"> \ |
1150 | | - <ui-select-choices repeat="item in items"></ui-select-choices> \ |
1151 | | - </ui-select>' |
1152 | | - ); |
1153 | | - }).toThrow(new Error('[ui.select:transcluded] Expected 1 .ui-select-match but got \'0\'.')); |
| 1151 | + compileTemplate( |
| 1152 | + '<ui-select ng-model="selection.selected"> \ |
| 1153 | + <ui-select-choices repeat="item in items"></ui-select-choices> \ |
| 1154 | + </ui-select>' |
| 1155 | + ); |
| 1156 | + var lastError = $exceptionHandler.errors[$exceptionHandler.errors.length-1]; |
| 1157 | + var expectedError = new Error('[ui.select:transcluded] Expected 1 .ui-select-match but got \'0\'.'); |
| 1158 | + expect(lastError).toEqual(expectedError); |
1154 | 1159 | }); |
1155 | 1160 |
|
1156 | 1161 | it('should format the model correctly using alias', function() { |
|
0 commit comments