From e1254b266dfa2d4e3756e4317152dbdbcabe44be Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Tue, 12 Nov 2013 15:53:06 -0800 Subject: fix($compile): correctly handle interpolated style in replace templates A directive with a template with `replace: true` and an interpolated style at the root element should work correctly. Closes #4882. --- test/ng/compileSpec.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'test/ng/compileSpec.js') diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js index 5bdbad42..3e35fae7 100755 --- a/test/ng/compileSpec.js +++ b/test/ng/compileSpec.js @@ -504,6 +504,14 @@ describe('$compile', function() { expect(element).toBe(attr.$$element); } })); + directive('replaceWithInterpolatedStyle', valueFn({ + replace: true, + template: '
Replace with interpolated style!
', + compile: function(element, attr) { + attr.$set('compiled', 'COMPILED'); + expect(element).toBe(attr.$$element); + } + })); })); @@ -581,13 +589,22 @@ describe('$compile', function() { })); - it('should handle interpolated css from replacing directive', inject( + it('should handle interpolated css class from replacing directive', inject( function($compile, $rootScope) { element = $compile('
')($rootScope); $rootScope.$digest(); expect(element).toHaveClass('class_2'); })); + if (!msie || msie > 10) { + // style interpolation not working on IE<11. + it('should handle interpolated css style from replacing directive', inject( + function($compile, $rootScope) { + element = $compile('
')($rootScope); + $rootScope.$digest(); + expect(element.css('width')).toBe('2px'); + })); + } it('should merge interpolated css class', inject(function($compile, $rootScope) { element = $compile('
')($rootScope); -- cgit v1.2.3