diff options
| author | Ajay Roopakalu | 2014-01-03 22:15:21 -0500 |
|---|---|---|
| committer | Jeff Cross | 2014-01-10 09:50:28 -0800 |
| commit | 43a2f3d0bf435e3626cd679caff4281cfb3415bd (patch) | |
| tree | 55b27c8a7eec0351f6f93655a992fe60fe61253e /test/ng/directive | |
| parent | a9cccbe14f1bd9048f5dab4443f58c804d4259a1 (diff) | |
| download | angular.js-43a2f3d0bf435e3626cd679caff4281cfb3415bd.tar.bz2 | |
feat(select): allow multiline ng-options
This patch allows the ng-options value of a <select> element to span
multiple lines, which would previously throw an error when used with filters.
Closes #5602
Diffstat (limited to 'test/ng/directive')
| -rw-r--r-- | test/ng/directive/selectSpec.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/ng/directive/selectSpec.js b/test/ng/directive/selectSpec.js index 83591949..6fcd1fe0 100644 --- a/test/ng/directive/selectSpec.js +++ b/test/ng/directive/selectSpec.js @@ -708,6 +708,31 @@ describe('select', function() { expect(sortedHtml(options[0])).toEqual('<option value="regularProperty">visible</option>'); }); + it('should allow expressions over multiple lines', function() { + scope.isNotFoo = function(item) { + return item.name !== 'Foo'; + }; + + createSelect({ + 'ng-options': 'key.id\n' + + 'for key in object\n' + + '| filter:isNotFoo', + 'ng-model': 'selected' + }); + + scope.$apply(function() { + scope.object = [{'id': 1, 'name': 'Foo'}, + {'id': 2, 'name': 'Bar'}, + {'id': 3, 'name': 'Baz'}]; + scope.selected = scope.object[0]; + }); + + var options = element.find('option'); + expect(options.length).toEqual(3); + expect(sortedHtml(options[1])).toEqual('<option value="0">2</option>'); + expect(sortedHtml(options[2])).toEqual('<option value="1">3</option>'); + }); + describe('binding', function() { it('should bind to scope value', function() { |
