@@ -3342,6 +3342,35 @@ describe('$compile', function() {
3342
3342
expect ( element . attr ( 'test3' ) ) . toBe ( 'Misko' ) ;
3343
3343
expect ( element . attr ( 'test4' ) ) . toBe ( 'Misko' ) ;
3344
3344
} ) ) ;
3345
+
3346
+ describe ( 'when an attribute has a dash-separated name' , function ( ) {
3347
+
3348
+ it ( 'should work with different prefixes' , inject ( function ( $compile , $rootScope ) {
3349
+ $rootScope . name = "JamieMason" ;
3350
+ element = $compile ( '<span ng:attr:dash-test="{{name}}" ng-Attr-dash-test2="{{name}}" ng_Attr_dash-test3="{{name}}"></span>' ) ( $rootScope ) ;
3351
+ expect ( element . attr ( 'dash-test' ) ) . toBeUndefined ( ) ;
3352
+ expect ( element . attr ( 'dash-test2' ) ) . toBeUndefined ( ) ;
3353
+ expect ( element . attr ( 'dash-test3' ) ) . toBeUndefined ( ) ;
3354
+ $rootScope . $digest ( ) ;
3355
+ expect ( element . attr ( 'dash-test' ) ) . toBe ( 'JamieMason' ) ;
3356
+ expect ( element . attr ( 'dash-test2' ) ) . toBe ( 'JamieMason' ) ;
3357
+ expect ( element . attr ( 'dash-test3' ) ) . toBe ( 'JamieMason' ) ;
3358
+ } ) ) ;
3359
+
3360
+ it ( 'should work if they are prefixed with x- or data-' , inject ( function ( $compile , $rootScope ) {
3361
+ $rootScope . name = "JamieMason" ;
3362
+ element = $compile ( '<span data-ng-attr-dash-test2="{{name}}" x-ng-attr-dash-test3="{{name}}" data-ng:attr-dash-test4="{{name}}"></span>' ) ( $rootScope ) ;
3363
+ expect ( element . attr ( 'dash-test2' ) ) . toBeUndefined ( ) ;
3364
+ expect ( element . attr ( 'dash-test3' ) ) . toBeUndefined ( ) ;
3365
+ expect ( element . attr ( 'dash-test4' ) ) . toBeUndefined ( ) ;
3366
+ $rootScope . $digest ( ) ;
3367
+ expect ( element . attr ( 'dash-test2' ) ) . toBe ( 'JamieMason' ) ;
3368
+ expect ( element . attr ( 'dash-test3' ) ) . toBe ( 'JamieMason' ) ;
3369
+ expect ( element . attr ( 'dash-test4' ) ) . toBe ( 'JamieMason' ) ;
3370
+ } ) ) ;
3371
+
3372
+ } ) ;
3373
+
3345
3374
} ) ;
3346
3375
3347
3376
0 commit comments