Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

fix(ng-option): allow new line after _collection_ #4167

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/ng/directive/select.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@

var ngOptionsDirective = valueFn({ terminal: true });
var selectDirective = ['$compile', '$parse', function($compile, $parse) {
//0000111110000000000022220000000000000000000000333300000000000000444444444444444440000000005555555555555555500000006666666666666666600000000000000007777000000000000000000088888
var NG_OPTIONS_REGEXP = /^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/,
//00001111100000000000222200000000000000000000003333000000000000004444444444444444400000000055555555555555555000000066666666666666666000000000000000077770000000000000000000888880009999999
var NG_OPTIONS_REGEXP = /^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$[\s\n]*/,
nullModelCtrl = {$setViewValue: noop};

return {
Expand Down
8 changes: 7 additions & 1 deletion test/ng/directive/selectSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -494,7 +494,13 @@ describe('select', function() {
it('should throw when not formated "? for ? in ?"', function() {
expect(function() {
compile('<select ng-model="selected" ng-options="i dont parse"></select>');
}).toThrowMinErr('ngOptions', 'iexp', /Expected expression in form of/);
}).toThrowMinErr('ngOptions', 'iexp', /Expected expression in form of/);
});

it('should accept new lines in the format', function(){
compile('<select ng-model="selected" ng-options="value.name\n for \nvalue in \nvalues\n \n"></select>');

expect(element).toBeValid();
});


Expand Down