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

Commit 6393def

Browse files
fixup! fix(interpolate): do not create directives for constant media URL attributes
1 parent 4a3f356 commit 6393def

File tree

1 file changed

+30
-28
lines changed

1 file changed

+30
-28
lines changed

test/ng/compileSpec.js

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12093,32 +12093,8 @@ describe('$compile', function() {
1209312093
expect(element.attr('test6')).toBe('Misko');
1209412094
}));
1209512095

12096-
describe('when an attribute has a dash-separated name', function() {
12097-
it('should work with different prefixes', inject(function() {
12098-
$rootScope.name = 'JamieMason';
12099-
element = $compile('<span ng:attr:dash-test="{{name}}" ng-Attr-dash-test2="{{name}}" ng_Attr_dash-test3="{{name}}"></span>')($rootScope);
12100-
expect(element.attr('dash-test')).toBeUndefined();
12101-
expect(element.attr('dash-test2')).toBeUndefined();
12102-
expect(element.attr('dash-test3')).toBeUndefined();
12103-
$rootScope.$digest();
12104-
expect(element.attr('dash-test')).toBe('JamieMason');
12105-
expect(element.attr('dash-test2')).toBe('JamieMason');
12106-
expect(element.attr('dash-test3')).toBe('JamieMason');
12107-
}));
12108-
12109-
it('should work if they are prefixed with x- or data-', inject(function() {
12110-
$rootScope.name = 'JamieMason';
12111-
element = $compile('<span data-ng-attr-dash-test2="{{name}}" x-ng-attr-dash-test3="{{name}}" data-ng:attr-dash-test4="{{name}}"></span>')($rootScope);
12112-
expect(element.attr('dash-test2')).toBeUndefined();
12113-
expect(element.attr('dash-test3')).toBeUndefined();
12114-
expect(element.attr('dash-test4')).toBeUndefined();
12115-
$rootScope.$digest();
12116-
expect(element.attr('dash-test2')).toBe('JamieMason');
12117-
expect(element.attr('dash-test3')).toBe('JamieMason');
12118-
expect(element.attr('dash-test4')).toBe('JamieMason');
12119-
}));
12120-
12121-
it('should work with img[src]', inject(function() {
12096+
describe('with media url attributes', function() {
12097+
it('should work with interpolated ng-attr-src', inject(function() {
1212212098
$rootScope.name = 'some-image.png';
1212312099
element = $compile('<img ng-attr-src="{{name}}">')($rootScope);
1212412100
expect(element.attr('src')).toBeUndefined();
@@ -12131,7 +12107,7 @@ describe('$compile', function() {
1213112107
expect(element.attr('src')).toBe('other-image.png');
1213212108
}));
1213312109

12134-
it('should work with img[data-src]', inject(function() {
12110+
it('should work with interpolated ng-attr-data-src', inject(function() {
1213512111
$rootScope.name = 'some-image.png';
1213612112
element = $compile('<img ng-attr-data-src="{{name}}">')($rootScope);
1213712113
expect(element.attr('data-src')).toBeUndefined();
@@ -12144,7 +12120,7 @@ describe('$compile', function() {
1214412120
expect(element.attr('data-src')).toBe('other-image.png');
1214512121
}));
1214612122

12147-
it('should compile img with constant [src]-attribute and [ng-attr-data-src] attribute', inject(function() {
12123+
it('should work alongside constant [src]-attribute and [ng-attr-data-src] attributes', inject(function() {
1214812124
$rootScope.name = 'some-image.png';
1214912125
element = $compile('<img src="constant.png" ng-attr-data-src="{{name}}">')($rootScope);
1215012126
expect(element.attr('data-src')).toBeUndefined();
@@ -12158,6 +12134,32 @@ describe('$compile', function() {
1215812134
expect(element.attr('src')).toBe('constant.png');
1215912135
expect(element.attr('data-src')).toBe('other-image.png');
1216012136
}));
12137+
});
12138+
12139+
describe('when an attribute has a dash-separated name', function() {
12140+
it('should work with different prefixes', inject(function() {
12141+
$rootScope.name = 'JamieMason';
12142+
element = $compile('<span ng:attr:dash-test="{{name}}" ng-Attr-dash-test2="{{name}}" ng_Attr_dash-test3="{{name}}"></span>')($rootScope);
12143+
expect(element.attr('dash-test')).toBeUndefined();
12144+
expect(element.attr('dash-test2')).toBeUndefined();
12145+
expect(element.attr('dash-test3')).toBeUndefined();
12146+
$rootScope.$digest();
12147+
expect(element.attr('dash-test')).toBe('JamieMason');
12148+
expect(element.attr('dash-test2')).toBe('JamieMason');
12149+
expect(element.attr('dash-test3')).toBe('JamieMason');
12150+
}));
12151+
12152+
it('should work if they are prefixed with x- or data-', inject(function() {
12153+
$rootScope.name = 'JamieMason';
12154+
element = $compile('<span data-ng-attr-dash-test2="{{name}}" x-ng-attr-dash-test3="{{name}}" data-ng:attr-dash-test4="{{name}}"></span>')($rootScope);
12155+
expect(element.attr('dash-test2')).toBeUndefined();
12156+
expect(element.attr('dash-test3')).toBeUndefined();
12157+
expect(element.attr('dash-test4')).toBeUndefined();
12158+
$rootScope.$digest();
12159+
expect(element.attr('dash-test2')).toBe('JamieMason');
12160+
expect(element.attr('dash-test3')).toBe('JamieMason');
12161+
expect(element.attr('dash-test4')).toBe('JamieMason');
12162+
}));
1216112163

1216212164
it('should keep attributes ending with -start single-element directives', function() {
1216312165
module(function($compileProvider) {

0 commit comments

Comments
 (0)