From 8e6e3ebad991eaf57a7885549ea3b91932d495c9 Mon Sep 17 00:00:00 2001 From: Jamie Mason Date: Wed, 18 Sep 2013 15:00:34 +0100 Subject: fix($compile): ng-attr to support dash separated attribute names --- test/ng/compileSpec.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'test/ng') diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js index 6b3a0479..1e66b49f 100755 --- a/test/ng/compileSpec.js +++ b/test/ng/compileSpec.js @@ -3342,6 +3342,35 @@ describe('$compile', function() { expect(element.attr('test3')).toBe('Misko'); expect(element.attr('test4')).toBe('Misko'); })); + + describe('when an attribute has a dash-separated name', function () { + + it('should work with different prefixes', inject(function($compile, $rootScope) { + $rootScope.name = "JamieMason"; + element = $compile('')($rootScope); + expect(element.attr('dash-test')).toBeUndefined(); + expect(element.attr('dash-test2')).toBeUndefined(); + expect(element.attr('dash-test3')).toBeUndefined(); + $rootScope.$digest(); + expect(element.attr('dash-test')).toBe('JamieMason'); + expect(element.attr('dash-test2')).toBe('JamieMason'); + expect(element.attr('dash-test3')).toBe('JamieMason'); + })); + + it('should work if they are prefixed with x- or data-', inject(function($compile, $rootScope) { + $rootScope.name = "JamieMason"; + element = $compile('')($rootScope); + expect(element.attr('dash-test2')).toBeUndefined(); + expect(element.attr('dash-test3')).toBeUndefined(); + expect(element.attr('dash-test4')).toBeUndefined(); + $rootScope.$digest(); + expect(element.attr('dash-test2')).toBe('JamieMason'); + expect(element.attr('dash-test3')).toBe('JamieMason'); + expect(element.attr('dash-test4')).toBe('JamieMason'); + })); + + }); + }); -- cgit v1.2.3