feat(ngHref): bind ng-href to xlink:href for SVGAElement

This change makes the ngHref directive useful for SVGAElements by having it bind
to the xlink:href attribute rather than the href attribute.

Closes #5904
This commit is contained in:
Caitlin Potter
2014-01-20 20:59:21 -05:00
parent c8e03e34b2
commit 2bce71e9dc
2 changed files with 36 additions and 2 deletions

View File

@@ -251,4 +251,28 @@ describe('ngHref', function() {
$rootScope.$digest();
expect(element.attr('href')).toEqual('http://server');
}));
if (isDefined(window.SVGElement)) {
describe('SVGAElement', function() {
it('should interpolate the expression and bind to xlink:href', inject(function($compile, $rootScope) {
element = $compile('<svg><a ng-href="some/{{id}}"></a></svg>')($rootScope);
var child = element.children('a');
$rootScope.$digest();
expect(child.attr('xlink:href')).toEqual('some/');
$rootScope.$apply(function() {
$rootScope.id = 1;
});
expect(child.attr('xlink:href')).toEqual('some/1');
}));
it('should bind xlink:href even if no interpolation', inject(function($rootScope, $compile) {
element = $compile('<svg><a ng-href="http://server"></a></svg>')($rootScope);
var child = element.children('a');
$rootScope.$digest();
expect(child.attr('xlink:href')).toEqual('http://server');
}));
});
}
});