aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Minar2013-07-02 17:15:24 -0700
committerIgor Minar2013-07-02 22:35:39 -0700
commitcbbe3bfe91526af0523c0b014895f78df6a983ed (patch)
treea33cd947d07151378f11b5d167b2a6162ca0d8fd
parent91e139e52a0a9d2d47337c46c8bd9e04e7466358 (diff)
downloadangular.js-cbbe3bfe91526af0523c0b014895f78df6a983ed.tar.bz2
revert: fix(compiler): corrects component transclusion on ...
This reverts commit 15e1a29cd08993b599f390e83a249ec17f753972. The original commit was fixing two issues - one of them was preventing attributes that triggered directives that replaced the compiled node to be merged into the new node. This change was a breaking change (as seen in the diff of the tests in this commit) and that's why it's being removed. A proper fix will follow.
-rw-r--r--src/ng/compile.js11
-rwxr-xr-xtest/ng/compileSpec.js10
2 files changed, 10 insertions, 11 deletions
diff --git a/src/ng/compile.js b/src/ng/compile.js
index 36043a15..4f5dc171 100644
--- a/src/ng/compile.js
+++ b/src/ng/compile.js
@@ -749,7 +749,7 @@ function $CompileProvider($provide) {
newTemplateAttrs
)
);
- mergeTemplateAttributes(templateAttrs, newTemplateAttrs, directive.name);
+ mergeTemplateAttributes(templateAttrs, newTemplateAttrs);
ii = directives.length;
} else {
@@ -1007,16 +1007,15 @@ function $CompileProvider($provide) {
*
* @param {object} dst destination attributes (original DOM)
* @param {object} src source attributes (from the directive template)
- * @param {string} ignoreName attribute which should be ignored
*/
- function mergeTemplateAttributes(dst, src, ignoreName) {
+ function mergeTemplateAttributes(dst, src) {
var srcAttr = src.$attr,
dstAttr = dst.$attr,
$element = dst.$$element;
// reapply the old attributes to the new element
forEach(dst, function(value, key) {
- if (key.charAt(0) != '$' && key != ignoreName) {
+ if (key.charAt(0) != '$') {
if (src[key]) {
value += (key === 'style' ? ';' : ' ') + src[key];
}
@@ -1031,7 +1030,7 @@ function $CompileProvider($provide) {
dst['class'] = (dst['class'] ? dst['class'] + ' ' : '') + value;
} else if (key == 'style') {
$element.attr('style', $element.attr('style') + ';' + value);
- } else if (key.charAt(0) != '$' && !dst.hasOwnProperty(key) && key != ignoreName) {
+ } else if (key.charAt(0) != '$' && !dst.hasOwnProperty(key)) {
dst[key] = value;
dstAttr[key] = srcAttr[key];
}
@@ -1074,7 +1073,7 @@ function $CompileProvider($provide) {
tempTemplateAttrs = {$attr: {}};
replaceWith($rootElement, $compileNode, compileNode);
collectDirectives(compileNode, directives, tempTemplateAttrs);
- mergeTemplateAttributes(tAttrs, tempTemplateAttrs, origAsyncDirective.name);
+ mergeTemplateAttributes(tAttrs, tempTemplateAttrs);
} else {
compileNode = beforeTemplateCompileNode;
$compileNode.html(content);
diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js
index d9480130..e0c68301 100755
--- a/test/ng/compileSpec.js
+++ b/test/ng/compileSpec.js
@@ -534,7 +534,7 @@ describe('$compile', function() {
expect(div.hasClass('log')).toBe(true);
expect(div.css('width')).toBe('10px');
expect(div.css('height')).toBe('20px');
- expect(div.attr('replace')).toEqual(undefined);
+ expect(div.attr('replace')).toEqual('');
expect(div.attr('high-log')).toEqual('');
}));
@@ -856,7 +856,7 @@ describe('$compile', function() {
$rootScope.$digest();
expect(sortedHtml(element)).
- toEqual('<div><b class="hello"><span>Hello, Elvis!</span></b></div>');
+ toEqual('<div><b class="hello"><span replace="">Hello, Elvis!</span></b></div>');
}));
@@ -868,7 +868,7 @@ describe('$compile', function() {
$rootScope.$digest();
expect(sortedHtml(element)).
- toEqual('<span>Hello, Elvis!</span>');
+ toEqual('<span replace="">Hello, Elvis!</span>');
}));
@@ -1077,7 +1077,7 @@ describe('$compile', function() {
var div = element.find('div');
expect(div.attr('i-first')).toEqual('');
- expect(div.attr('i-second')).toEqual(undefined);
+ expect(div.attr('i-second')).toEqual('');
expect(div.attr('i-third')).toEqual('');
expect(div.attr('i-last')).toEqual('');
@@ -1127,7 +1127,7 @@ describe('$compile', function() {
var div = element.find('div');
expect(div.attr('i-first')).toEqual('');
- expect(div.attr('i-second')).toEqual(undefined);
+ expect(div.attr('i-second')).toEqual('');
expect(div.attr('i-third')).toEqual('');
expect(div.attr('i-last')).toEqual('');