|
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