aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAjay Roopakalu2014-01-03 22:15:21 -0500
committerJeff Cross2014-01-10 09:50:28 -0800
commit43a2f3d0bf435e3626cd679caff4281cfb3415bd (patch)
tree55b27c8a7eec0351f6f93655a992fe60fe61253e /test
parenta9cccbe14f1bd9048f5dab4443f58c804d4259a1 (diff)
downloadangular.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')
-rw-r--r--test/ng/directive/selectSpec.js25
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() {