This repository was archived by the owner on Apr 12, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -802,6 +802,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
802
802
if ( ! letter || letter !== lowercase ( letter ) ) {
803
803
throw $compileMinErr ( 'baddir' , "Directive name '{0}' is invalid. The first character must be a lowercase letter" , name ) ;
804
804
}
805
+ if ( name !== name . trim ( ) ) {
806
+ throw $compileMinErr ( 'baddirwspc' ,
807
+ "Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces" ,
808
+ name ) ;
809
+ }
805
810
}
806
811
807
812
/**
Original file line number Diff line number Diff line change @@ -211,6 +211,21 @@ describe('$compile', function() {
211
211
} ) ;
212
212
inject ( function ( $compile ) { } ) ;
213
213
} ) ;
214
+ it ( 'should throw an exception if a directive name has leading or trailing whitespace' , function ( ) {
215
+ module ( function ( ) {
216
+ function assertLeadingOrTrailingWhitespaceInDirectiveName ( name ) {
217
+ expect ( function ( ) {
218
+ directive ( name , function ( ) { } ) ;
219
+ } ) . toThrowMinErr (
220
+ '$compile' , 'baddirwspc' , 'Directive name \'' + name + '\' is invalid. ' +
221
+ "The name should not contain leading or trailing whitespaces" ) ;
222
+ }
223
+ assertLeadingOrTrailingWhitespaceInDirectiveName ( ' leadingWhitespaceDirectiveName' ) ;
224
+ assertLeadingOrTrailingWhitespaceInDirectiveName ( 'trailingWhitespaceDirectiveName ' ) ;
225
+ assertLeadingOrTrailingWhitespaceInDirectiveName ( ' leadingAndTrailingWhitespaceDirectiveName ' ) ;
226
+ } ) ;
227
+ inject ( function ( $compile ) { } ) ;
228
+ } ) ;
214
229
} ) ;
215
230
216
231
You can’t perform that action at this time.
0 commit comments